首页 > 解决方案 > 同步杀死节点中的非子进程

问题描述

我想使用节点同步关闭另一个进程。我确实知道进程ID。我需要确保在另一个进程开始之前这个进程已经退出。

理想情况下,它看起来像:

await process.kill(pid);

await实际上等待进程关闭的地方。但是,文档告诉我 process.kill 只发送退出信号。它似乎不等待返回信号或进程不再运行的某些指示。

我看到process.exit()这里不是一个选项,因为它不需要进程 ID。事实上,它似乎与子进程有某种关系——但我确实发现文档很难理解。我要杀死的进程不是子进程。

标签: node.js

解决方案


你可以在这里看到 node js process kill

process.on('SIGINT', () => {
     //Do what is next when process got killed
    });


process.kill(pid, 'SIGINT');

process.kill() 方法将信号发送到由 pid 标识的进程。

信号名称是字符串,例如 'SIGINT' 或 'SIGHUP'


推荐阅读