node.js-如何在nodejs中杀死子进程?

使用shelljs创建一个子进程

!/usr/bin/env node

require('/usr/local/lib/node_modules/shelljs/global');
   fs = require("fs");  
   var child=exec("sudo mongod &",{async:true,silent:true});

   function on_exit(){
        console.log('Process Exit');
        child.kill("SIGINT");
        process.exit(0)
    }

    process.on('SIGINT',on_exit);
    process.on('exit',on_exit);

子进程杀死父进程后仍在运行..

Deepak Patil asked 2019-11-13T08:30:12Z
1个解决方案
69 votes

如果可以使用内置于SIGINT中的节点,则可以向子进程发送SIGINT信号:

var proc = require('child_process').spawn('mongod');
proc.kill('SIGINT');

这样做的好处是,主进程应该一直徘徊,直到所有子进程都终止。

Michael Tang answered 2019-11-13T08:30:40Z
translate from https://stackoverflow.com:/questions/20187184/how-to-kill-childprocess-in-nodejs