GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Finden Sie die PID des Prozesses mit einem bestimmten Port?

Unter Linux müssen Sie root oder Eigentümer des Prozesses sein, um die gewünschten Informationen zu erhalten. Daher wird für Prozesse, die als ein anderer Benutzer ausgeführt werden, sudo vorangestellt ist das meiste, was Sie brauchen. Darüber hinaus auf modernen Linux-Systemen ss ist ein Werkzeug, um dies zu tun:

$ sudo ss -lptn 'sport = :80'
State   Local Address:Port  Peer Address:Port              
LISTEN  127.0.0.1:80        *:*                users:(("nginx",pid=125004,fd=12))
LISTEN  ::1:80              :::*               users:(("nginx",pid=125004,fd=11))

Sie können auch denselben Aufruf verwenden, den Sie gerade verwenden, aber denken Sie an sudo :

$ sudo netstat -nlp | grep :80
tcp  0  0  0.0.0.0:80  0.0.0.0:*  LISTEN  125004/nginx

Sie können auch lsof:

verwenden
$ sudo lsof -n -i :80 | grep LISTEN
nginx   125004 nginx    3u  IPv4   6645      0t0  TCP 0.0.0.0:80 (LISTEN)

Sie können auch lsof verwenden Dienstprogramm. Muss root sein.

# lsof -i :25
COMMAND  PID        USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
exim4   2799 Debian-exim    3u  IPv4   6645      0t0  TCP localhost:smtp (LISTEN)
exim4   2799 Debian-exim    4u  IPv6   6646      0t0  TCP localhost:smtp (LISTEN)

Ich verwende "CentOS 7 minimal", das noch netstat hat weder lsof . Aber viele Linux-Distributionen haben den Socket-Statistikbefehl (d.h. ss ).

Hier ist ein Ausführungsbeispiel:

# ss -tanp | grep 6379
LISTEN   0    128  127.0.0.1:6379   *:*   users:(("redis-server",pid=2531,fd=4))

Linux
  1. Wie beendet man einen Prozess, der auf einem bestimmten Port in Linux läuft?

  2. Wie finde ich die Prozess-ID in Ubuntu?

  3. Wie beendet man den Prozess von Python mit PID?

  4. Bleibt eine Prozess-PID garantiert gleich, solange der Prozess nicht stirbt?

  5. Beenden Sie den Prozess, der auf Port 80 ausgeführt wird

So finden Sie einen Prozessnamen mithilfe der PID-Nummer in Linux

So finden Sie die PID und PPID eines Prozesses in Linux

Den Prozess finden, der einen bestimmten Port in Linux verwendet

Wie bekomme ich nur den Benutzer, die PID und den Befehl, der für einen bestimmten Prozess ausgeführt wird? (Ubuntu 11.10)

Bestimmen des bestimmten Prozessors, auf dem ein Prozess läuft

Netcat - Wie höre ich einen TCP-Port mit einer IPv6-Adresse?