268 votes

arrêter toutes les instances du serveur node.js

C'est la première fois que je travaille avec Node.js et j'ai rencontré ce problème :

J'ai démarré un serveur Node via le plugin d'un IDE. Malheureusement, je ne peux pas utiliser le terminal de l'IDE. J'ai donc essayé d'exécuter le script à partir de la ligne de commande.

Voici le problème : j'utilise le module Express et mon application écoute un port (8080). Lorsque je lance l'application à partir de la ligne de commande, l'erreur suivante apparaît :

events.js:71
    throw arguments[1]; // Unhandled 'error' event
                   ^
Error: listen EADDRINUSE
    at errnoException (net.js:770:11)
    at HTTPServer.Server._listen2 (net.js:910:14)
    at listen (net.js:937:10)
    at HTTPServer.Server.listen (net.js:986:5)
    at Object.<anonymous> (C:\xampp\htdocs\node\chat\app.js:5:5)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)

Bien que je ne sois pas très sûr de l'origine de cette erreur, j'ai supposé que c'est parce que l'application écoute sur un port déjà utilisé. C'est ce que j'ai fait :

netstat -an

Je peux voir

TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING

C'est parce que le serveur Node est déjà démarré lorsque j'ai essayé de le lancer depuis l'IDE.

Je veux donc savoir comment arrêter toutes les instances du serveur. De même, si vous pouvez me dire comment détecter ce qui fonctionne sur un port et l'arrêter.

0voto

David Points 308

Puisque vous avez spécifié Windows. Si vous voulez l'inclure dans un fichier bat, vous ne voudrez peut-être pas qu'il génère une erreur si le processus n'est pas en cours d'exécution.

Ainsi, pour éviter le message "ERROR : Le processus "node.exe" n'a pas été trouvé", vous pouvez ajouter un filtre :

TASKKILL /F /IM node.exe /FI "PID gt 0"

-2voto

Altynbek S. Points 1

Appuyez sur dans cmd ou bash : Ctrl + C

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