Как убить childprocess в 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);
Дочерний процесс все еще запущен. После завершения родительского процесса
Ответы
Ответ 1
Если вы можете использовать node встроенный child_process.spawn
, вы можете отправить сигнал SIGINT
дочернему процессу
var proc = require('child_process').spawn('mongod');
proc.kill('SIGINT');
Потенциал роста заключается в том, что основной процесс должен зависать до тех пор, пока все дочерние процессы не будут завершены.