361 votes

Arrêtez le programme node.js à partir de la ligne de commande

J'ai un simple serveur TCP qui écoute sur un port.

 var net = require("net");

var server = net.createServer(function(socket) {
    socket.end("Hello!\n");
});

server.listen(7777);
 

Je le lance avec node server.js et le ferme avec Ctrl + Z sur Mac. Lorsque j'essaie de le relancer avec node server.js j'obtiens ce message d'erreur:

 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)
 

Est-ce que je ferme le programme dans le mauvais sens? Comment puis-je empêcher cela?

422voto

Brad Points 61171

Pour terminer le programme, vous devez utiliser Ctrl + C. Si vous faites cela, il envoie SIGINT , ce qui permet au programme de se terminer normalement, en se détachant de tous les ports sur lesquels il écoute.

Voir aussi: http://superuser.com/a/262948/48624

404voto

Jamund Ferguson Points 6338

Ctrl+ Z , suspend qui signifie il peut encore être en cours d’exécution.

Ctrl+ C effectivement le tuera.

vous pouvez également le tuer manuellement comme ceci :

Trouver l’ID de processus ((deuxième à gauche) :

Cela peut aussi fonctionner

41voto

Hamid Points 921

Ou sinon vous pouvez faire tout cela en une seule ligne :

Vous pouvez remplacer le nœud à l’intérieur de « \snode\s » avec un autre nom de processus.

23voto

sr77in Points 46

Dans windows PC suit fonctionnera.

Ctrl + C retour vous emmènera à > invite puis tapez

Process.Exit()

ou tout simplement utiliser

Ctrl + D

22voto

sunny1304 Points 819

vous pouvez taper `` pour quitter le nœud js REPL

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X