我使用spawn
来创建子进程。我想创建一个子进程并在之后启动我想退出当前进程。处理子进程开始
var Spawn = require("child_process").spawn;
var sp = Spawn("sleep", ["10000"]);
sp.unref();
process.exit();
上面的代码工作正常:它会创建一个子进程(sleep
)将活10秒,电流处理退出。
我可以肯定,当我做process.exit()
sleep
进程是活动的或通过结束父进程,子进程也将被终止?
在这是一个简单的例子,process.exit()
是无用的,因为过程将结束,因为我打电话unref
。但是,这只是一个例子。
那么,有没有什么事情要听从sp
(孩子的过程),告诉我嘿我活跃?
在某些情况下(例如var sp = Spawn("node", ["foo", "--bar"]);
),我在ps aux | grep node
的输出中看到[nodejs] <defunct>
,就在产卵呼叫之后。这发生在我可以控制应用程序运行的调试模式中。这意味着这个过程还没有活跃,我想。
信号是你的朋友。 –