Node.js 子进程未调用关闭事件

Node.js 子进程未调用关闭事件,node.js,child-process,Node.js,Child Process,我有以下node.js代码: var testProcess = spawn(item.testCommand, [], { cwd: process.cwd(), stdio: ['ignore', process.stdout, process.stderr] }); testProcess.on('close', function(data) { console.log('test'); }); waitpid(testProcess.pid); testProcess.k

我有以下node.js代码:

var testProcess = spawn(item.testCommand, [], {
  cwd: process.cwd(),
  stdio: ['ignore', process.stdout, process.stderr]
});

testProcess.on('close', function(data) {
  console.log('test');
});

waitpid(testProcess.pid);
testProcess.kill();
但是close方法永远不会得到调用

我要寻找的最终结果是,我spwan了一个进程,脚本等待子进程完成(waitpid()做得正确)。我希望子进程的输出/错误显示在屏幕上(stdio配置正在正确执行)。我还想在关闭子进程时执行代码,我将在关闭事件中执行该代码(也尝试退出),但它不会启动

为什么事件没有触发?

注意,仅仅因为这个函数的名称是process.kill,它实际上只是一个信号发送器,就像kill系统调用一样。发送的信号可能不会终止目标进程。

您可以在Kill()调用时指定信号。

查看
waitpid()
我发现它返回一个带有exitCode的对象。我更改了代码,以便根据exitCode的值执行某些操作