У меня есть дочерний процесс, порожденный с помощью child_process.fork, и хотел бы его прекратить. Проблема в том, что дочерний процесс выполняет некоторый длинный расчет привязки процессора, и я не контролирую его. То есть фрагмент кода с привязкой к ЦП не может быть изменен, чтобы использовать process.nextTick или опрос.Killing CPU связанный дочерний процесс
очень упрощенный пример:
parent.js
var cp = require('child_process');
var child = cp.fork('child.js');
child.js
...
while(true){} // lengthy computation which I cannot modify
...
Можно ли прекратить это? Предпочтительно таким способом, который позволяет поймать событие выхода в дочернем элементе, чтобы сделать некоторые очистки?
Отправка SIGTERM/SIGKILL/etc с использованием child.kill() не , похоже, работает на Windows. Я предполагаю, что даже если он работает на других операционных системах, он все равно не будет убивать процесс из-за того, что ребенок не сможет обрабатывать события при выполнении вычислений.