!/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);
子プロセスがまだ実行されているshelljs
を使用して子プロセスを作成しました。..した後、親プロセス
プロセスをフォークしてバックグラウンドに送る 'mongod&'を実行しています。 ** SIGINT **は実際の 'mongod'プロセスを強制終了しません。 – fardjad
もう一つ、 'sudo mongod'を実行する代わりに、' mongod'をexecし、 'sudo'を使ってスクリプトを実行してください。必要に応じて 'mongod'(' process.setuid() 'と' process.setgid() ')を実行した後に特権を落とすことができます。 – fardjad
が削除されました。それはうまくいきました。ありがとうhttp://stackoverflow.com/users/303270/fardjad –