有没有办法为eventmachine的popen找到pid?

时间:2013-11-26 10:52:54

标签: eventmachine

在ruby标准库中,popen返回一个有pid方法的对象, 在eventmachine中,popen返回一个Connection对象,该对象不包含进程ID信息。

演示代码:

require 'eventmachine'

def work
  s = EM.popen('ls')
  puts s.pid # how to get new process's pid?
end

EventMachine.run {
  work
  EM.stop
}

1 个答案:

答案 0 :(得分:0)

当EM.popen返回标准的EM Connection对象时,您可以使用s.get_pid来获取子进程的pid。

http://eventmachine.rubyforge.org/EventMachine/Connection.html#get_pid-instance_method