如何杀死nodejs中的childprocess?

使用shelljs创build一个subprocess

!/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); 

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

如果您可以使用构build在child_process.spawn节点,则可以将SIGINT信号发送给subprocess:

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

有一个好处就是主stream程应该一直存在,直到所有的subprocess终止。