gpt4 book ai didi

node.js - 杀死所有子进程,但不杀死父进程

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:43 26 4
gpt4 key购买 nike

如何在不杀死父进程的情况下杀死所有子进程?我在我的 Node 脚本中生成多个进程,我想杀死所有进程并生成新进程。

现在我找到了一个 terminate npm 库,它会杀死一个父进程及其所有子进程,但我不想杀死父进程,最好的解决方案是不使用 3rd政党图书馆。

terminate(process.pid, function (err) {
if (err) {
console.error("Could not kill processes");
}
});

最佳答案

实现此目的的一种方法是传递一些可以捕获的信号(不是 SIGKILL)。然后,安装一个信号处理程序来检测当前进程是否是父进程,如果不是父进程则调用_exit()。

您可以使用 SIGUSR1 或 SIGUSR2,或者 SIGQUIT。

我已经在这里说明了这种技术。

可选地(如 Lidong 所建议的),父进程可以在发出 kill() 命令之前对信号使用 SIG_IGN。

信号(SIGQUIT,SIG_IGN);
kill(-parent_pid, SIGQUIT);

关于node.js - 杀死所有子进程,但不杀死父进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44784034/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com