nonsense
V2EX  ›  Node.js

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

  •  
  •   nonsense · Nov 12, 2017 · 5844 views
    This topic created in 3282 days ago, the information mentioned may be changed or developed.
    linux 下通过 spawn 运行的 X 进程,该 X 进程自己又会生成子进程
    7 replies  •  2017-11-13 22:53:37 +08:00
    airqj
    airqj
    Nov 13, 2017 via Android
    1
    reboot
    简单粗暴
    msg7086
    msg7086
    Nov 13, 2017
    2
    用 cgroup 管理?
    wakiki
    wakiki
    Nov 13, 2017 via iPhone
    3
    负的 process id
    pagxir
    pagxir
    Nov 13, 2017
    4
    建组,然后直接杀进程组吧。
    dorothyREN
    dorothyREN
    Nov 13, 2017❤️1
    5
    pkill processName
    metrue
    metrue
    Nov 13, 2017❤️1
    6
    ```
    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
    zqjnew
    Nov 13, 2017❤️1
    7
    A 进程里开 fork B 进程,B 进程里再开 N 进程,关闭,直接关 B 进程即可
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1672 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 13:24 · PVG 21:24 · LAX 05:24 · JFK 08:24
    ♥ Do have faith in what you're doing.