Sto lavorando a un progetto di nodo in cui voglio scrivere un po 'di memoria su file all'uscita. Ho pensato che fosse il più semplice:Gestione evento CTRL + C in Node.js su Windows
process.on('exit', function() {
//handle your on exit code
console.log("Exiting, have a nice day");
});
Tuttavia, questo codice non esegue (su Windows) quando si riceve CTRL + C. Dato che questo è il modo defacto per uscire dal nodo, questo sembra un po 'un problema.
A questo punto ho cercato di gestire il segnale, invece, che genera l'errore (il ('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)
fuori ad un rapido Google e it appears Nodo semplicemente non gestisce i segnali su Windows e CTRL + C non avvia infatti l'evento "exit". L'errore precedente non dovrebbe uscire su un sistema * Nix.
Tuttavia, spegnere la piattaforma Windows non è un'opzione valida per me, quindi ho bisogno di una soluzione alternativa. C'è un modo per gestire gli eventi di uscita in uscita nel nodo causati dall'utente che preme CTRL + C per terminare lo script?
Soluzione piacevole. Si sente un po '... sporco, ma poi, lavorare spesso è farlo! Grazie. – Serapth