标签: node.js child-process
以require('child_process').spawn开始的节点流程可以close和exit。我认为他们也可以在某些情况下永远挂起,而不会礼貌地告诉Node。如何确保我的Node应用程序始终能够很好地清理其子进程?我知道kill可用于“向子进程发送信号”。这听起来并不是什么保证,特别是因为文档说“请注意,虽然函数被称为kill,但传递给子进程的信号实际上可能不会杀死它。实际上,kill只是向进程发送信号。”
require('child_process').spawn
close
exit
kill
答案 0 :(得分:3)
这就是 kill 在linux上的工作原理。节点对应方提供相同的功能。
kill默认发送SIGTERM信号。通过kill -9强行杀死发送SIGKILL。无法捕获,阻止或忽略SIGKILL。但请将此作为最后的手段。它会阻止进程清理锁定文件。
kill -9
请参阅kill的linux文档和使用的signals。