我有一个长时间运行的进程,我需要它来启动另一个进程(也将运行一段时间)。我只需要启动它,然后完全忘记它。
我设法通过从 Programming Ruby 书中获取一些代码来做我需要的事情,但我想找到最好/正确的方法,并了解正在发生的事情。这是我最初得到的:
exec("whatever --take-very-long") if fork.nil?
Process.detach($$)
那么,这是这样的方式,还是我应该怎么做?
检查下面的答案后,我最终得到了这段代码,这似乎更有意义:
(pid = fork) ? Process.detach(pid) : exec("foo")
我会很感激一些关于如何fork
工作的解释。[已经知道了]
分离$$
对吗?我不知道为什么会这样,我真的很想更好地了解情况。