Я порождаю дочерний процесс:
child = spawn("childprocess", [], {
detached: true
}
И наблюдаю событие 'exit' с:
child.on('exit', (code, signal) => {
// Do stuff
}
Когда мое приложение закрывается, я убиваюдочерний элемент с помощью taskkill
(потому что он работает в Windows):
exec(`taskkill /PID ${child.pid} /F /T`, (error, stdout, stderr) => {
// Do stuff
}
Проблема в том, что, когда процесс убит, событие выхода срабатывает (понятно), но я не хочу этогок.Есть ли какой-нибудь способ удалить прослушиватель событий?Или убить процесс, не вызывая события?Я пробовал child.removeListener('exit')
, но это не сработало (может, потому что это анонимная функция?).