Ce que j'ai fait: Je viens de configurer l'environnement de nœud, d'installer Express, de créer et d'installer un projet Express.
express hello
cd hello && npm install
a ensuite lancé l'application avec "node app
".
Environnement:
yole@Yole:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.2 (wheezy)
Release: 7.2
Codename: wheezy
yole@Yole:~$ node --version
v0.10.22
yole@Yole:~$ express --version
3.4.4
Problème Lorsque je veux arrêter cette application, j’ai utilisé CTRL+C,
, mais j’ai trouvé que c’est qu’elle n’a pas été arrêtée. Puis j'ai redémarré le serveur! J'ai trouvé que je pouvais toujours accéder à la page dans le navigateur. Orz.
J'ai essayé la chose suivante mais je ne peux toujours pas trouver le processus en cours.
yole@Yole:~$ killall node
node: no process found
yole@Yole:~$ ps -ef|grep node
yole 3161 2888 0 16:57 pts/1 00:00:00 grep node
yole@Yole:~$ netstat -apn|grep 3000
Question Comment connaître le processus de nœud en cours ou comment le tuer.
===== update Il est très étrange que tous les navigateurs de ma machine puissent visiter le site alors qu'il n'est pas disponible sur une autre machine! Je visite uniquement la page avec Chrome avant d’arrêter l’application. Cela semble être un problème de cache, mais comment le cache est-il partagé entre les navigateurs?.
Processus de noeud de liste:
$ ps -e|grep node
Tuer le processus en utilisant
$kill -9 XXXX
Ici XXXX est le numéro de processus
Si vous voulez savoir, les processus how may nodejs en cours d'exécution, vous pouvez utiliser cette commande
ps -aef | grep node
Donc, il donnera une liste de processus nodejs avec son nom de projet. Il sera utile lorsque vous exécutez une application multipe nodejs et que vous souhaitez supprimer un processus spécifique pour le projet spécifique.
La commande ci-dessus donnera la sortie comme
XXX 12886 1741 1 12:36 ? 00:00:05 /home/username/.nvm/versions/node/v9.2.0/bin/node --inspect-brk=43443 /node application running path.
Donc, pour tuer vous pouvez utiliser la commande suivante
kill -9 12886
Donc, il va tuer le processus de nœud spcefic
Vous pouvez tuer tous les processus de noeud à l'aide de pkill node
ou vous pouvez faire un ps T
pour voir tous les processus sur ce terminal
alors vous pouvez tuer un ID de processus spécifique en utilisant un exemple kill [processID]
: kill 24491
De plus, vous pouvez faire un ps -help
pour voir toutes les options disponibles.
Si toutes ces commandes de processus d'arrêt ne fonctionnent pas pour vous, ma suggestion est de vérifier si vous utilisiez d'autres packages pour exécuter votre processus de noeud.
J'avais un problème similaire, dû au fait que j'exécutais mon processus de noeud à l'aide de PM2 (un package NPM). La commande kill [processID]
désactive le processus mais maintient le port occupé. Par conséquent, je devais aller dans PM2 et vider tout le processus de noeud pour libérer le port à nouveau.