nodejs主程序关闭后,child_process的exec子程序没有关闭怎么办
时间: 2024-03-12 21:49:58 浏览: 242
Node.js中child_process实现多进程
如果Node.js主程序关闭后,`child_process`的`exec`子程序仍在运行,可以使用`child.kill()`方法来关闭它。下面是一个示例代码:
```
const { exec } = require('child_process');
const child = exec('ls');
// 监听子进程的退出事件
child.on('exit', (code, signal) => {
console.log(`子进程退出,退出码为 ${code}`);
});
// 在主程序关闭时,关闭子进程
process.on('exit', () => {
child.kill();
});
```
在上面的代码中,当主程序关闭时,会触发`process`对象的`exit`事件,然后调用`child.kill()`方法来关闭子进程。另外,子进程也会触发`exit`事件,可以在该事件中处理子进程退出时的逻辑。
阅读全文