Ruby进程(3) Process.fork 和 Ruby 1.9.2 中的新方法 Process.spawn的区别
简单来说:Process.spawn = Process.fork + exec?
?
Process.fork
?allows you to run ruby code in another process.?Process.spawn
?allows you to run another program in another process. Basically?Process.spawn
?is like using?Process.fork
?and then calling?exec
?in the forked process, except that it gives you more options.
?
Use?fork
?if you need to run arbitrary ruby code in a separate process (you can't do that with?spawn
). Use?spawn
?if you need to invoke an application in a subprocess.
?
Source:
http://stackoverflow.com/questions/4129196/whats-the-difference-between-process-fork-and-process-spawn-in-ruby-1-9-2