我正在尝试fork
在JRuby
. 我是猴子补丁fork
,它在内部使用 FFI 来执行分叉调用。然后它返回子 pid。
require 'ffi'
module Exec
extend FFI::Library
ffi_lib FFI::Library::LIBC
attach_function :fork, [], :int
end
def fork
pid = Exec.fork
if pid == 0
yield if block_given?
return nil
else
return pid
end
end
这是解决问题的正确方法吗?