Node.js 子进程成功处理信号时的回调

Node.js 子进程成功处理信号时的回调,node.js,promise,q,Node.js,Promise,Q,我需要验证是否已成功终止子进程,因为如果该进程仍处于活动状态,我无法执行下一个操作 var proc = require('child_process'); var prog = proc.spawn('myprog', ['--option', 'value']); prog.on('data', function(data) { // Do something }); 在代码的其他地方,我到达某个特定事件,在某个特定条件下,我需要终止prog: prog.kill('SUGHUP')

我需要验证是否已成功终止
子进程
,因为如果该进程仍处于活动状态,我无法执行下一个操作

var proc = require('child_process');

var prog = proc.spawn('myprog', ['--option', 'value']);
prog.on('data', function(data) {
  // Do something
});
在代码的其他地方,我到达某个特定事件,在某个特定条件下,我需要终止
prog

prog.kill('SUGHUP');
// Only when the process has successfully been killed execute next
// Code...
因为
kill
可能是异步的,所以我使用
q
。我想在
kill
上使用
q
,但是
kill
没有在成功处理信号时执行的回调

怎么办

可能的想法
如果我在收到消息时向process
prog
发送消息,并且在process
prog
中,我会将其杀死吗?如何告诉进程自行终止?

带有killsignal和回调选项的prog.exec()不符合您的需要吗?

等待捕获并处理信号!