我正在寻找一个解决方案,以在单独的进程中定义块或Proc中产生的代码。 喜欢的东西如何在单独的进程中运行代码?
p = Proc.new do
File.open('newproc.log', 'w') {
|fw|
10.times do
fw.puts Time.now
sleep 1
end
}
end
# spawn p in a separate process here
# original code continues
没有过程分叉,没有线程,在一个外部文件中没有存储。只需在独立进程中执行该块。
有什么想法?
更新: 我要添加块不取决于调用过程中定义的任何东西。
为什么不分流? –
@SergioTulentsev因为原来的过程是“胖”,即。占用大量内存,分叉会复制东西。 –
为什么不把它放在另一个脚本中,而是调用它呢? – squiguy