我们正试图终止使用节点child_process
exec命令启动的Chrome浏览器的进程
var process = cp.exec(`"chrome.exe" --app="..."`, () => {}); // working great
但是当我们尝试
process.kill(); //nothing happens...
该过程是否引用了chrome窗口或其他内容?如果没有,我们如何掌握新打开的Chrome窗口进程,PID等...?
任何帮助都会很棒...
注意-我们已经尝试使用chrome_launcher NPM,但没有帮助,因为我们无法在没有全屏模式的信息亭模式下打开chrome,但这是另一个问题的问题...
答案 0 :(得分:0)
我无法添加评论,所以我直接在答案中说:
How to kill process with node js
如果您选中上面的链接,则需要以下库
https://www.npmjs.com/package/fkill
取自stackoverflow问题的用法示例
const fkill = require('fkill');
fkill(1337).then(() => {
console.log('Killed process');
});
fkill('Safari');
fkill([1337, 'Safari']);
我还找到了这个库来检查正在运行的进程
答案 1 :(得分:0)
尝试PID破解
我们可以使用{detached: true}
选项启动子进程,这样这些进程将不会附加到主进程,但会进入新的一组进程。
然后在主进程上使用process.kill(-pid)
方法,可以杀死具有相同pid组的子进程的同一组中的所有进程。就我而言,该组中只有一个进程。
var spawn = require('child_process').spawn;
var child = spawn('your-command', {detached: true});
process.kill(-child.pid);