Wie finde ich heraus, welche Node.js-PID auf welchem ​​Port läuft?

8

Ich möchte einen von vielen Node.js-Prozessen neu starten, die ich auf meinem Server ausgeführt habe. Wenn ich ps ax | grep node laufe, erhalte ich eine Liste aller meiner Node-Prozesse, aber es sagt mir nicht, auf welchem ​​Port sie sind. Wie töte ich den, der auf Port 3000 läuft (zum Beispiel). Was ist eine gute Möglichkeit, mehrere Knotenprozesse zu verwalten?

    
Pardoner 29.10.2012, 20:51
quelle

4 Antworten

16

Wenn Sie Folgendes ausführen:

%Vor%

Sie sollten etwas wie:

sehen %Vor%

In diesem Fall ist 5902 die PID. Sie können so etwas verwenden, um es zu töten:

%Vor%

Hier ist eine alternative Version, die egrep verwendet, was ein bisschen besser sein kann, da sie spezifisch nach der Zeichenkette 'node' sucht:

%Vor%

Sie können das Obige in ein Skript umwandeln oder folgendes in Ihr ~/.bashrc einfügen:

%Vor%

und jetzt können Sie ausführen:

%Vor%     
David Weldon 29.10.2012, 21:35
quelle
2

Ein Einzeiler ist

%Vor%

Sie benötigen das sudo nur, wenn Sie einen Prozess beenden, den Ihr Benutzer nicht gestartet hat. Wenn Ihr Benutzer den Knotenprozess gestartet hat, können Sie ihn wahrscheinlich ohne Sudo beenden.

Viel Glück!

    
Michael Cole 13.09.2013 15:36
quelle
0

Warum nicht eine einfache fuser basierte Lösung?

Wenn es Ihnen egal ist, ob der Prozess, der Port 3000 verwendet, Knoten ist, könnte es so einfach wie

sein %Vor%

Wenn du sicher sein willst, dass du andere Prozesse nicht tötest, kannst du mit etwas wie

gehen %Vor%     
idrarig 07.01.2014 10:43
quelle
0

Das hat mir viel Zeit gespart:

pkill node

    
Naveed Ul Islam 30.05.2017 08:59
quelle

Tags und Links