मुझे यह कोड एक अलग SO प्रश्न से मिला है, लेकिन नोड ने tty के बजाय process.stdin.setRawMode का उपयोग करने के लिए शिकायत की है, इसलिए मैंने इसे बदल दिया।Node.js में CTRL + C का पता लगाने
से पहले:
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();
}
});
किसी भी मामले में, यह सिर्फ एक पूरी तरह से nonresponsive नोड प्रक्रिया है कि कुछ नहीं करता है पहले से शिकायत बनाने रहा है, के बारे में tty
, तो एक त्रुटि फेंक, और दूसरा बस कुछ भी नहीं कर रहा है और नोड के मूल CTRL + सी हैंडलर को अक्षम कर रहा है, इसलिए जब मैं इसे दबाता हूं तो यह नोड को भी नहीं छोड़ता है। मैं Ctrl + सीविंडोज में सफलतापूर्वक कैसे प्रबंधित कर सकता हूं?
इसके अलावा यह नहीं है। खिड़कियों पर नहीं है। – user3025492
आप सही हैं। संपादित। – slezica
ऐसा लगता है कि यह पहले ही तय हो चुका है ... 2012 में https://github.com/joyent/node/issues/1553 –