【发布时间】:2019-05-08 21:10:44
【问题描述】:
我有一个启动(生成)电子应用程序(子)的主进程,我正在尝试杀死它,同时让父进程在一段时间后保持活力。我总是只杀死父母,在阅读了很多文章(也在 stackoverflow 上)之后,我唯一获得的成就就是我杀死了他们两个。但我需要让父母活着。我希望能够杀死不再响应或崩溃的子进程。
我尝试分叉但也尝试生成。 我在 parent.js 中尝试了所有这些(代码如下):
杀死两者:
process.kill(-script.pid);
只杀死父母:
kill(-script.pid, SIGKILL);
只杀死父级(脚本是来自 script = spawn(...) 的子级):
script.stdin.pause();
script.kill();
父.js:
let spawn = require('child_process').spawn;
console.log('main process started.');
let script = spawn('npm', ["start"], {detached: true});
setTimeout(function(){
//This one kills both
process.kill(-script.pid);
}, 3000);
child.js:
const exec = require('child_process').exec;
exec('cd $HOME/Desktop/Myapp && npm start');
我希望父进程始终处于活动状态并随时终止子进程。 我知道这很基础,但即使经过深入研究和阅读,我也无法让它发挥作用。
这可能与 Electron 有关吗?
【问题讨论】: