Создано childprocess помощью shelljsКак убить childprocess в nodejs?
!/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);
процесс Ребенок все еще работает .. после того, как убить родительского процесса
Вы используете 'mongod &', который разворачивает процесс и отправляет его на задний план. отправка ** SIGINT ** не будет уничтожать процесс 'mongod'. – fardjad
Еще одна вещь, вместо выполнения 'sudo mongod', exec' mongod' и запуска вашего скрипта с 'sudo'. Вы можете отказаться от привилегий после выполнения 'mongod' (с' process.setuid() 'и' process.setgid() '), если хотите. – fardjad
удалено '&', и это сработало ... спасибо http://stackoverflow.com/users/303270/fardjad –