当节点进程被终止时,终止所有的child_process
如何确保所有child_process在父进程被终止时被终止。 我有像下面这样的东西。
即使当节点进程被杀死,我看到FFMPEG继续运行,out.avi生成。 如何在节点进程退出后停止运行FFMPEG。
var args = "ffmpeg -i in.avi out.avi" child_process.exec(args , function(err, stdout,stderr){}); child_process.exec(args , function(err, stdout,stderr){});
您需要监听进程退出事件,然后终止subprocess。 这应该为你工作:
var args = "ffmpeg -i in.avi out.avi" var a = child_process.exec(args , function(err, stdout,stderr){}); var b = child_process.exec(args , function(err, stdout,stderr){}); process.on('exit', function () { a.kill(); b.kill(); });
如何使用退出事件,所以当主进程即将退出时,可以杀死child_process
process.on('exit', function() { console.log('process is about to exit, kill ffmpeg'); child_process.kill(); });