Прервать скрипт node.js из другого скрипта node.js

У меня есть скрипт node.js, который запускает другой скрипт node.js с именем app.js, используя child_process.exec(). Мне нужно что-то, что может завершить «app.js». Либо команда, которую я могу использовать в командной строке, либо что-то еще в node.js.

Я не пытаюсь убить все процессы узла, только процесс «app.js». Мой компьютер работает под управлением Windows 10.

Прямо сейчас код выглядит так:

let isLaunched = false;
const exec = require('child_process').exec;

function launch() {
    if (isLaunched) {
        isLaunched = false;

        // Something that terminates app.js

    } else {
        isLaunched = true;
        exec('node app.js');
    }
}

Я вызываю функцию с помощью кнопки в HTML.

<button onclick="launch()">Launch</button>

Как я могу сделать это в node.js?


person Oscar Q.    schedule 15.07.2019    source источник
comment
Если вы сохраняете ссылку на child_process, вы можете отправить ему сигнал уничтожения из основного процесса, используя child_process.kill([signal])< /а>. В качестве примечания: почему вы не используете child_process.fork(modulePath[, args][, options]), поскольку вы порождаете другой процесс nodejs?   -  person Jake Holzinger    schedule 15.07.2019


Ответы (1)


person    schedule
comment
sigkill можно заменить на sigterm или sigint, в зависимости от того, что вы хотите. - person Lennon McLean; 10.06.2020