在Node.JS中从自身内部杀死一个subprocess

有没有办法杀死一个孩子的过程“自杀”? 我尝试了process.exit(1)但显然它杀死了我正在运行的整个应用程序。 我只想杀死subprocess(就像我们从subprocess的“父亲”调用process.kill()时那样)。 在subprocess中调用process.kill()杀死整个应用程序。

任何想法?

process总是参考主要过程。 但是你可以简单地使用这个:

 var spawn = require( "child_process" ).spawn; // example child process var grep = spawn( "grep", [ "ssh"] ); grep.on( "exit", function (code, signal) { console.log( "child process terminated due to receipt of signal "+signal); }); grep.kill( "SIGHUP" ); 

我想这取决于你如何使用subprocess。 但是,如果你没有提及孩子的过程,那么你可以做的事情就不多了。

警告:杀死subprocess几乎不是一个好主意。 您应该向subprocess发送消息并在该进程中处理它。