【问题标题】:start\kill local EXE application with Node.js使用 Node.js 启动\杀死本地 EXE 应用程序
【发布时间】:2013-06-17 21:06:31
【问题描述】:

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

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

谢谢。

【问题讨论】:

  • +1 非常有趣的问题。我假设您的意思是杀死您自己的应用程序?
  • 感谢 +1 - 但我的意思是外部进程(我在机器上的其他 exe 程序)

标签: node.js process


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多