请教 spawn 出来的进程+子进程如何全部 kill 掉?

2017-11-12 23:39:12 +08:00
 nonsense
linux 下通过 spawn 运行的 X 进程,该 X 进程自己又会生成子进程
4768 次点击
所在节点    Node.js
7 条回复
airqj
2017-11-13 00:09:58 +08:00
reboot
简单粗暴
msg7086
2017-11-13 04:39:13 +08:00
用 cgroup 管理?
wakiki
2017-11-13 08:11:43 +08:00
负的 process id
pagxir
2017-11-13 08:34:00 +08:00
建组,然后直接杀进程组吧。
dorothyREN
2017-11-13 09:18:38 +08:00
pkill processName
metrue
2017-11-13 13:25:49 +08:00
```
const spawn = require('child_process').spawn;
const script = `${__dirname}/timeout_task.sh`;
const p = spawn(script, { detached: false, shell: true });

p.stdout.on('data', (data) => {
// do something
});

p.stderr.on('data', (data) => {
// do something
});

p.on('exit', (err) => {
// do something
});

setTimeout(() => {
console.log(process.kill(-p.pid, 'SIGKILL'));
}, 1000);

```
zqjnew
2017-11-13 22:53:37 +08:00
A 进程里开 fork B 进程,B 进程里再开 N 进程,关闭,直接关 B 进程即可

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/405808

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX