Я получил этот код из другого вопроса SO, но node жаловался на использование process.stdin.setRawMode вместо tty, поэтому я его изменил.
До:
var tty = require("tty");
process.openStdin().on("keypress", function(chunk, key) {
if(key && key.name === "c" && key.ctrl) {
console.log("bye bye");
process.exit();
}
});
tty.setRawMode(true);
После:
process.stdin.setRawMode(true);
process.stdin.on("keypress", function(chunk, key) {
if(key && key.name === "c" && key.ctrl) {
console.log("bye bye");
process.exit();
}
});
В любом случае он просто создает абсолютно невосприимчивый node процесс, который ничего не делает, с первым жалобой на tty
, а затем бросает ошибку, а второй просто ничего не делает и отключает node native CTRL + C, поэтому он даже не выходит из node, когда я его нажимаю. Как я могу успешно обрабатывать CTRL + C в Windows?