Me gustaría poder averiguar qué proceso está utilizando actualmente un determinado puerto en Linux. ¿Hay alguna forma de hacer esto?
Me gustaría poder averiguar qué proceso está utilizando actualmente un determinado puerto en Linux. ¿Hay alguna forma de hacer esto?
Respuestas:
Tienes unas cuantas opciones:
lsof -i tcp:80
le dará la lista de procesos usando el puerto tcp 80.
Alternativamente,
sudo netstat -nlp
le dará todas las conexiones de red abiertas.
lsof -i | grep {username}
también es muy útil, es decirlsof -i | grep apache
-n
: no resuelva los nombres -l
: muestre los sockets del servidor de escucha,: -p
muestre el PID / nombre del programa para los sockets.
-P
para lsof -i tcp:$PORTNUMBER
que el puerto me vuelva a imprimir como un número.
Estoy usando "CentOS 7 minimal" que no tiene ni netstat
ninguno 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))
netstat -anb