Tôi đang làm việc trên một dự án nút nơi tôi muốn viết một số bộ nhớ để lưu trữ khi thoát. Tôi thấy nó đơn giản như:Xử lý sự kiện CTRL + C trong Node.js trên Windows
process.on('exit', function() {
//handle your on exit code
console.log("Exiting, have a nice day");
});
Tuy nhiên, mã này không thực thi (trên Windows) khi CTRL + C được nhận. Do đây là cách defacto để thoát khỏi Node, điều này có vẻ hơi rắc rối.
Tại thời điểm này tôi đã cố gắng để xử lý các tín hiệu thay vào đó, mà kết quả trong các lỗi (trên ('SIGINT', ...).):
node.js:218 throw e; // process.nextTick error, or 'error' event on first tick ^Error: No such module at EventEmitter. (node.js:403:27) at Object. (C:\Users\Mike\workspace\NodeDev\src\server.js:5:9) at Module._compile (module.js:434:26) at Object..js (module.js:452:10) at Module.load (module.js:353:32) at Function._load (module.js:310:12) at Array.0 (module.js:472:10) at EventEmitter._tickCallback (node.js:209:41)
Off để nhanh chóng trên Google và it appears Node đơn giản không xử lý tín hiệu trên Windows và CTRL + C không thực tế kích hoạt sự kiện "thoát". Lỗi trên không nên thoát trên hệ thống * Nix.
Tuy nhiên, việc tắt nền tảng Windows không phải là tùy chọn hợp lệ cho tôi, vì vậy tôi cần giải pháp thay thế. Có cách nào để xử lý Trên các sự kiện Thoát trong Nút do người dùng nhấn CTRL + C gây ra để chấm dứt tập lệnh không?
Giải pháp tốt. Cảm thấy một chút ... bẩn, nhưng sau đó, làm việc xung quanh thường xuyên làm! Cảm ơn. – Serapth