Mar*_*ter 44
除了克里斯的好回答,记得Process.wait从你的主人打电话来收获你的孩子过程,否则你会留下僵尸.
评论中要求的示例:
pid = Process.fork do
puts "child, pid #{Process.pid} sleeping..."
sleep 5
puts "child exiting"
end
puts "parent, pid #{Process.pid}, waiting on child pid #{pid}"
Process.wait
puts "parent exiting"
Run Code Online (Sandbox Code Playgroud)
Chr*_*oyd 24
您可以使用fork内核方法.这是一个例子:
#!/usr/bin/env ruby
puts "This is the master process."
child_pid = fork do
puts "This is the child process"
exit
end
puts "The PID of the child process is #{child_pid}"
Run Code Online (Sandbox Code Playgroud)
该fork方法返回它所分叉的进程的PID,并执行传递的块中的任何代码.与常规Ruby块一样,它保留了父进程的绑定.
制作分叉流程是个好主意exit.
在1.9中,您可以使用Process.spawn命令.另见http://en.wikibooks.org/wiki/Ruby_Programming/Running_Multiple_Processes
| 归档时间: |
|
| 查看次数: |
36122 次 |
| 最近记录: |