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.

13voto

AlexanderN Points 5805

Linux

Pour impressionner vos amis

ps aux | grep -i node | awk '{print $2}' | xargs  kill -9

Mais c'est celui dont vous vous souviendrez

killall node

8voto

Vous pouvez essayer ceci :

taskkill /IM node.exe -F

6voto

thavaamm Points 1357

Il fonctionne bien sous Windows 10

taskkill /f /im node.exe

5voto

Neil Bannet Points 75

Si vous utilisez Windows, suivez cette procédure :

  1. Ouvrez le gestionnaire des tâches, recherchez ce processus : Task manager showing Node process - Node.js Server-side JavaScript

  2. Ensuite, il suffit de faire un clic droit et de "terminer la tâche".

  3. C'est tout, maintenant toutes les commandes npm s'exécutent depuis le début.

4voto

Dariusz Filipiak Points 837

Multiplateforme, stable, la meilleure solution :

utiliser fkill pour tuer le processus qui prend votre port :

fkill -f :8080

Pour installer fkill, utilisez la commande : npm i -g fkill

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