Kin*_*one 0 shell spawn node.js
我有一个在nodejs 中使用spawn 创建的进程,并带有选项,shell:true
因此该进程在真实的shell 中启动。因此,当我尝试终止这个进程时,streamingTask.kill()
它不起作用。没有该选项shell:true
一切正常。
这就是我的代码的样子:
var options = {shell:true};
streamingTask = spawn('gst-launch-1.0',args,options);
...
streamingTask.kill()
Run Code Online (Sandbox Code Playgroud)
那么我现在怎样才能杀死这个进程呢?
小智 6
这不起作用,因为您正在终止 shell 进程本身,而不是由 shell 生成的子进程(gst-launch-1.0
在您的情况下)。
npm 上有一个名为tree-kill 的包,它提供了一个简单的单行解决方案:
var kill = require('tree-kill');
kill(streamingTask.pid);
Run Code Online (Sandbox Code Playgroud)