我在Windows中有一个本地node.js应用程序 - 是否可以启动\ kill本地.EXE应用程序并在我的代码中将其终止。
有可能吗?如果是这样,我会很高兴看到一个例子。
感谢。
答案 0 :(得分:2)
如果您计划终止自己的节点进程,则进程API会公开method exit(),这确实是C exit()方法的包装器。根据文档,它需要一个参数来指定成功或失败。
然后,一个非常“有趣”的事情是实现一个控制器来停止你的服务器。像这样:
app.post('/stop/server/now', function(){
process.exit(0);
});
编辑要杀死其他进程,您只需要知道他们的pid(并且有足够的权限来杀死其他进程)。
首先,要获取pid,请执行命令来执行此操作。在Linux上,这将是:
var exec = require('child_process').exec;
exec("ps aux | grep 'process_to_kill' | grep -v grep | awk '{print $2}'",
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
if (error !== null) {
console.log('exec output: ' + error);
}
});
然后,您将这些pid传递给process.kill() API。