def launch(command, argument, error_message)
begin
if fork_is_available? then
process_id = fork do
exec(command, argument)
end
Process.detach(process_id)
elsif is_windows? then
succeeded = system('start', command, argument)
if not succeeded then
@logger.log(error_message + command)
end
else
exec(command, argument)
end
rescue SystemCallError => exception
@logger.log(error_message + command + ', ' + exception.to_s )
rescue NotImplementedError => exception
@logger.log(error_message + command + ', ' + exception.to_s )
rescue Errno::ENOENT => exception
@logger.log(error_message + command + ', ' + exception.to_s )
end
end