#javascript #node.js #hyperterminal #hyperterm
#javascript #node.js #гипертерминал #hyperterm
Вопрос:
При завершении процесса с идентификатором процесса в интерфейсе командной строки ( hyperTerminal
для Windows) функция обратного вызова, имеющая « Why are you trying to terminate me?!? :-)
«, не отображается в консоли.
В первой оболочке, которую я запускаю с помощью команды node myfilename.js
, после запуска я получаю вывод в виде : Node is running as process #processid
и чтобы остановить этот процесс, я запускаю команду: taskkill /F /PID processid
в другой оболочке
Код приведен ниже:
process.stdin.resume();
process.stdin.setEncoding('utf8');
process.on('SIGTERM', function() {
process.stderr.write("Why are you trying to terminate me?!? :-)n");
});
console.log("Node is running as process #" process.pid);
После выполнения моей команды процесс завершается сообщением:
SUCCESS: The process with PID processid has been terminated.
но в консоли я не получаю требуемый вывод ( Why are you trying to terminate me?!? :-)
).
Комментарии:
1. Вероятно, вам следует пометить это соответствующим терминалом MS Windows, который вы используете.
2. Привет, спасибо за отзыв. Кстати, я использую hyper terminal для Windows x64
3. Вы пробовали
taskkill
без/F
флага? Я считаю, что этот флаг пропускает бит об отправке сигналов…4. Я пробовал без флага / F и получаю сообщение Причина: этот процесс может быть завершен только принудительно (с параметром / F).