我在 Windows 中有一个本地 node.js 应用程序 - 是否可以在我的代码中启动 \kill 本地 .EXE 应用程序并杀死它。
可能吗?如果是这样,我会很高兴看到一个例子。
谢谢。
如果您打算杀死自己的节点进程,进程 API 会公开方法 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。