我有以下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配置正确执行)。我也想在子进程结束时执行代码,我将在close事件中执行(也尝试退出),但它不会触发。
为什么事件不会被解雇?
答案 0 :(得分:0)
http://nodejs.org/api/process.html
Note that just because the name of this function is process.kill, it is really just a signal sender, like the kill system call. The signal sent may do something other than kill the target process.
您可以在Kill()调用时指定信号。
答案 1 :(得分:0)
查看waitpid()
我发现它返回一个带有exitCode的对象。我更改了代码,以便根据exitCode的值执行某些操作。