require('child_process').spawn开头的节点进程可以closeexit。我认为在某些情况下它们也可以永久挂起,而不必客气地告诉Node。如何确保我的Node应用程序始终很好地清理其子进程?我知道kill可用于“向子进程发送信号”。这听起来并不能保证,尤其是因为文档说“请注意,尽管该函数称为kill,但传递给子进程的信号实际上并不能杀死它。kill实际上只是向进程发送信号。”

最佳答案

这正是kill在Linux上的工作方式。节点副本提供相同的功能。

kill默认情况下发送SIGTERM信号。通过kill -9强行杀死发送SIGKILL。 SIGKILL不能被捕获,阻止或忽略。但是将此作为最后的选择。它阻止了清理锁文件的过程。

有关killsignals使用的信息,请参见linux文档。

关于node.js - Node 子进程清理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18661388/

10-12 23:41