Ruby on rails 什么';这是Ruby 1.9.2中Process.fork和Process.spawn之间的区别

Ruby on rails 什么';这是Ruby 1.9.2中Process.fork和Process.spawn之间的区别,ruby-on-rails,ruby,process,ruby-1.9,Ruby On Rails,Ruby,Process,Ruby 1.9,Ruby 1.9.2中的Process.fork和新的Process.spawn方法有什么区别?在子流程中运行另一个程序哪个更好?据我所知,Process.fork接受代码块,Process.spawn接受系统命令和一些其他参数。当我应该使用一个而不是另一个时?我相信Process.Fork派生当前进程,Process.Spawn派生新进程。他们完全不同。您想要一个新线程还是一个新进程 Ruby 1.9.2中的Process.fork和新的Process.spawn方法有什么区别 Process

Ruby 1.9.2中的Process.fork和新的Process.spawn方法有什么区别?在子流程中运行另一个程序哪个更好?据我所知,Process.fork接受代码块,Process.spawn接受系统命令和一些其他参数。当我应该使用一个而不是另一个时?

我相信Process.Fork派生当前进程,Process.Spawn派生新进程。他们完全不同。您想要一个新线程还是一个新进程

Ruby 1.9.2中的Process.fork和新的Process.spawn方法有什么区别

Process.fork
允许您在另一个进程中运行ruby代码
Process.spawn
允许您在另一个进程中运行另一个程序。基本上,
Process.spawn
类似于使用
Process.fork
,然后在forked流程中调用
exec
,只是它提供了更多选项

在子流程中运行另一个程序哪个更好

如果需要向后兼容,请使用
fork
+
exec
,因为
spawn
在1.8中不可用。否则请使用
spawn
,因为在子流程中运行另一个程序正是
spawn
的目的

据我所知,Process.fork接受代码块,Process.spawn接受系统命令和一些其他参数

没错

什么时候我应该用一个而不是另一个


如果需要在单独的进程中运行任意ruby代码,请使用
fork
(不能使用
spawn
)。如果需要在子流程中调用应用程序,请使用
spawn

我需要一个新流程,当前使用process.fork(用于背景视频编码)。我刚刚在Ruby 1.9中发现了新的Process.spawn方法,并对其中的差异以及我是否能从中获益感到好奇。