我想派生一个进程,等待子进程完成,然后从子进程获取 STDOUT。以下代码不起作用:
require 'stringio'
hold_stdout = $stdout
results = $stdout = StringIO.new
if pid = fork()
Process.wait(pid)
else
$stdout = hold_stdout
puts 'stuff in child process'
exit
end
$stdout = hold_stdout
puts 'results from child:'
puts results.string
输出结果如下:
stuff in child process
results from child:
不知道该做什么。如果你问我“你为什么……?”答案是因为我不知道自己在做什么。任何帮助都值得感激。