Ho un semplice server TCP che ascolta su una porta.
var net = require("net");
var server = net.createServer(function(socket) {
socket.end("Hello!\n");
});
server.listen(7777);
Lo avvio con node server.js
e poi lo chiudo con Ctrl + Z su Mac. Quando provo a eseguirlo di nuovo con node server.js
ottengo questo messaggio di errore:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: listen EADDRINUSE
at errnoException (net.js:670:11)
at Array.0 (net.js:771:26)
at EventEmitter._tickCallback (node.js:192:41)
Sto chiudendo il programma nel modo sbagliato? Come posso evitare che ciò accada?
Ctrl+Z
azione, una metodologia adeguata potrebbe essere quella fg
di rilanciare il processo e quindi Ctrl+C
di ucciderlo correttamente.
fg
dopo Ctrl-Z, tornerai da dove eri rimasto. Quindi il tuo nodo precedente è ancora in esecuzione. Fai attenzione se lo fai anche per altri comandi!