【发布时间】:2015-09-08 18:09:31
【问题描述】:
我为一个 jar 文件启动了一个子进程
var exec = require('child_process').exec;
// Start child process
var child = exec("java -jar test.jar");
我使用我写的给定子进程的 pid 的 kill 函数终止了子进程
killProcess(child.pid);
当 pid 正确时,该函数始终有效,但是,因为 nodejs 在 cmd.exe 中创建了子进程,如下图所示, child.pid 是 cmd.exe 的 pid 而不是实际的 java.exe
我的问题是,有时候java.exe会变大,跳出cmd.exe变成一个独立的进程,即使我停止服务器也无法终止。而且因为我没有 java.exe 的 pid,所以我无法用我的函数终止它。
我可以通过哪些其他方式终止进程而无需手动执行,或者获取 java.exe 而不是 cmd.exe 的 pid?
【问题讨论】:
标签: node.js