У меня есть основной процесс, который запускает (порождает) электронное приложение (дочерний процесс), и я пытаюсь убить его, сохраняя родительский ресурс через некоторое время.Я всегда убиваю только родителя, и единственное, чего я достиг после прочтения большого количества статей (в том числе и о stackoverflow), - это то, что я убил их обе.Но мне нужно, чтобы родитель остался в живых.Я хочу иметь возможность убить дочерний процесс, который больше не отвечает или дает сбой.
Я пытался форкать, но и порождать.Я попробовал все это в parent.js (код ниже):
Убивает обоих:
process.kill(-script.pid);
убивает только родителей:
kill(-script.pid, SIGKILL);
убивает только родителей (скрипт является дочерним по отношению к script = spawn (...)):
script.stdin.pause();
script.kill();
parent.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');
Я хочу, чтобы родитель был всегда жив и убивал дочерний процесс всякий раз, когда он этого хочет.Я знаю, что это довольно просто, но даже после интенсивных исследований и чтения я просто не могу заставить его работать.
Возможно, это связано с Электроном?