节点subprocess清理

节点进程以require('child_process').spawn开始, require('child_process').spawn可以closeexit 。 我假设他们也可以在一些情况下永远挂起,而不会礼貌地告诉节点。 我如何确保我的Node应用程序始终清理其subprocess很好? 我知道kill可以用来“发送信号给subprocess”。 这听起来不像是一个保证,特别是因为文档说:“请注意,虽然函数被称为杀死,传递给subprocess的信号可能不会真正杀死它,杀死真的只是一个信号发送到一个进程。

这正是如何杀死在Linux上的作品。 节点对应物提供相同的function。

kill默认发送SIGTERM信号。 强制杀死通过kill -9发送SIGKILL。 SIGKILL不能被捕获,阻塞或忽略。 但是,这是最后的手段。 它阻止进程清理锁文件。

请参阅kill文件和使用的信号 。