J'ai reçu ce code d'une autre question SO, mais node s'est plaint d'utiliser process.stdin.setRawMode au lieu de tty, alors je l'ai changé.
Avant:
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);
Après:
process.stdin.setRawMode(true);
process.stdin.on("keypress", function(chunk, key) {
if(key && key.name === "c" && key.ctrl) {
console.log("bye bye");
process.exit();
}
});
Dans tous les cas, il s'agit simplement de créer un processus de nœud totalement insensible qui ne fait rien, le premier se plaignant tty
, puis lançant une erreur, et le second ne faisant rien et désactivant le gestionnaire CTRL+ natif de Node C, donc il ne quitte même pas le nœud lorsque je Appuie. Comment puis-je gérer avec succès Ctrl+ Csous Windows ?
la source
Pour ceux qui ont besoin de la fonctionnalité, j'ai trouvé la mort (npm nodule, hah!) .
L'auteur affirme également que cela fonctionne sur Windows:
Je peux confirmer CTRL+ Cfonctionne sur win32 (oui, je suis surpris).
la source