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);
親プロセスを強制終了した後でも、子プロセスはまだ実行中です。
ノードの組み込みを使用できる場合 child_process.spawn
、SIGINT
シグナルを子プロセスに送信できます。
var proc = require('child_process').spawn('mongod');
proc.kill('SIGINT');
これの利点は、すべての子プロセスが終了するまでメインプロセスがハングアップする必要があることです。