Was ich getan habe: Ich habe gerade Knotenumgebung eingerichtet, Express installiert, ein Express-Projekt erstellt und installiert
%Vor% hat dann die App mit " node app
" gestartet.
Umgebung:
%Vor% Problem
Wenn ich diese App stoppen möchte, habe ich CTRL+C,
verwendet, aber das, was ich gefunden habe, ist, dass es nicht aufgehört hat. Dann habe ich den Server neu gestartet! Ich habe festgestellt, dass ich immer noch auf die Seite im Browser zugreifen kann. Orz.
Ich habe die folgende Sache versucht, aber kann immer noch nicht den laufenden Prozess herausfinden.
%Vor%Frage Wie man den laufenden Knotenprozess findet oder wie man ihn abbricht.
===== update Es ist sehr seltsam, dass alle Browses in meiner Maschine die Site besuchen können, während sie auf anderen Maschinen nicht verfügbar ist! Ich besuche die Seite nur mit Chrome, bevor ich die Anwendung stoppe. Es scheint ein Cache-Problem zu sein, aber wie Cache zwischen Browsern geteilt wird.
Sie können alle Knotenprozesse mit pkill node
oder Sie können ps T
ausführen, um alle Prozesse auf diesem Terminal anzuzeigen
dann können Sie eine spezifische Prozess-ID löschen, indem Sie ein kill [processID]
Beispiel: kill 24491
Zusätzlich können Sie ps -help
verwenden, um alle verfügbaren Optionen zu sehen
Wenn Sie wissen möchten, wie die Prozesse von nodejs laufen, können Sie diesen Befehl verwenden
%Vor%So wird es eine Liste von Nodejs-Prozess mit seinem Projektnamen geben. Es wird hilfreich sein, wenn Sie multiple nodejs application & amp; Sie möchten den spezifischen Prozess für das spezifische Projekt beenden.
Der obige Befehl liefert eine Ausgabe wie
%Vor%Um Sie zu töten, können Sie den folgenden Befehl verwenden
%Vor%Damit wird der spcefic-Knotenprozess beendet
Wenn all diese Befehle zum Killprozess nicht für Sie funktionieren, ist es ratsam, zu überprüfen, ob Sie andere Pakete zum Ausführen Ihres Knotenprozesses verwenden.
Ich hatte das ähnliche Problem, und das lag daran, dass ich meinen Knotenprozess mit PM2 (einem NPM-Paket) ausgeführt habe. Der Befehl kill [processID]
deaktiviert den Prozess, behält aber den Port belegt. Daher musste ich in PM2 gehen und alle Node-Prozesse dumpen, um den Port wieder freizugeben.