def exec(cmd, nohup_log)
      start = Time.now
      Open3.popen2e({ 'MALLOC_ARENA_MAX' => '2' }, cmd) do |stdin, stdout, thr|
        nohup_log.print("Started process ##{thr.pid} from process ##{Process.pid}: #{cmd}\n")
        stdin.close
        until stdout.eof?
          begin
            line = stdout.gets
          rescue IOError => e
            line = Backtrace.new(e).to_s
          end
          nohup_log.print(line)
        end
        nohup_log.print("Nothing else left to read from ##{thr.pid}\n")
        code = thr.value.to_i
        nohup_log.print("Exit code of process ##{thr.pid} is #{code}, was alive for #{Age.new(start)}: #{cmd}\n")
        code
      end
    end
def exec(cmd, nohup_log)
      start = Time.now
      Open3.popen2e({ 'MALLOC_ARENA_MAX' => '2' }, cmd) do |stdin, stdout, thr|
        nohup_log.print("Started process 
        stdin.close
        until stdout.eof?
          begin
            line = stdout.gets
          rescue IOError => e
            line = Backtrace.new(e).to_s
          end
          nohup_log.print(line)
        end
        nohup_log.print("Nothing else left to read from 
        code = thr.value.to_i
        nohup_log.print("Exit code of process 
        code
      end
    end
def exec ( cmd , nohup_log ) start = Time . now Open3 . popen2e ( { 'MALLOC_ARENA_MAX' => '2' } , cmd ) do | stdin , stdout , thr | nohup_log . print ( "Started process ##{thr.pid} from process ##{Process.pid}: #{cmd}\n" ) stdin . close until stdout . eof? begin line = stdout . gets rescue IOError => e line = Backtrace . new ( e ) . to_s end nohup_log . print ( line ) end nohup_log . print ( "Nothing else left to read from ##{thr.pid}\n" ) code = thr . value . to_i nohup_log . print ( "Exit code of process ##{thr.pid} is #{code}, was alive for #{Age.new(start)}: #{cmd}\n" ) code end end
Returns exit code
Returns exit code