以require('child_process').spawn
开头的节点进程可以close
和exit
。我认为在某些情况下它们也可以永久挂起,而不必客气地告诉Node。如何确保我的Node应用程序始终很好地清理其子进程?我知道kill
可用于“向子进程发送信号”。这听起来并不能保证,尤其是因为文档说“请注意,尽管该函数称为kill,但传递给子进程的信号实际上并不能杀死它。kill实际上只是向进程发送信号。”
最佳答案
这正是kill在Linux上的工作方式。节点副本提供相同的功能。kill
默认情况下发送SIGTERM信号。通过kill -9
强行杀死发送SIGKILL。 SIGKILL不能被捕获,阻止或忽略。但是将此作为最后的选择。它阻止了清理锁文件的过程。
有关kill和signals使用的信息,请参见linux文档。
关于node.js - Node 子进程清理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18661388/