2

我在 Windows 中有一个本地 node.js 应用程序 - 是否可以在我的代码中启动 \kill 本地 .EXE 应用程序并杀死它。

可能吗?如果是这样,我会很高兴看到一个例子。

谢谢。

4

1 回答 1

2

如果您打算杀死自己的节点进程,进程 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

于 2013-06-17T21:13:06.110 回答