mam ten kod z innego SO pytanie, ale węzeł skarżył używać process.stdin.setRawMode zamiast tty, więc zmieniłem go.Wykrywanie CTRL + C w node.js
Przed:
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);
Po:
process.stdin.setRawMode(true);
process.stdin.on("keypress", function(chunk, key) {
if(key && key.name === "c" && key.ctrl) {
console.log("bye bye");
process.exit();
}
});
W każdym razie, to tylko stworzenie zupełnie nieodpowiadającego proces węzła, który nic nie robi, z pierwszym narzekają tty
, a następnie rzuca błąd, a drugi po prostu nic nie robić i wyłączanie węzła rodzimy CTRL + C obsługi, więc nie ma nawet rzucić węzeł po naciśnięciu go. W jaki sposób można skutecznie obsługiwać Ctrl + C w systemu Windows?
Tyle tylko, że tak nie jest. Na laest nie w oknach. – user3025492
Masz rację. Edytowane. – slezica
Wygląda na to, że został już naprawiony ... w 2012 roku. https://github.com/joyent/node/issues/1553 –