GNU/Linux >> Tutoriales Linux >  >> Linux

¿Encontrar el PID del proceso usando un puerto específico?

En Linux, debe ser root o el propietario del proceso para obtener la información que desea. Como tal, para los procesos que se ejecutan como otro usuario, se antepone sudo es la mayor parte de lo que necesitas. Además de eso, en los sistemas Linux modernos, ss es una herramienta para usar para hacer esto:

$ 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))

También puedes usar la misma invocación que estás usando actualmente, pero recuerda sudo :

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

También puede usar lsof:

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

También puedes usar lsof utilidad. Necesita ser root.

# 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)

Estoy usando "CentOS 7 mínimo" que no tiene netstat ni lsof . Pero muchas distribuciones de Linux tienen el comando de estadísticas de socket (es decir, ss ).

Aquí hay un ejemplo de ejecución:

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

Linux
  1. Construcción de contenedores a mano:el espacio de nombres PID

  2. ¿Cómo eliminar un proceso que se ejecuta en un puerto específico en Linux?

  3. ¿Cómo obtener la identificación del proceso para eliminar un proceso nohup?

  4. Cómo configurar la ID del proceso en Linux para un programa específico

  5. ¿Cuál es el PID en el host de un proceso que se ejecuta dentro de un contenedor Docker?

Cómo encontrar un nombre de proceso usando el número PID en Linux

Cómo encontrar el PID y PPID de un proceso en Linux

¿Cómo terminar el proceso desde Python usando pid?

¿Se garantiza que un PID de proceso permanecerá igual siempre que el proceso no muera?

Determinar el procesador particular en el que se ejecuta un proceso

Cómo encontrar el archivo .pid para un proceso dado