Qué utilizar como alternativa "fuser -v -n tcp" en Mac OS X
10
El comando del fusor en Mac OS X es bastante primitivo y no puede verificar los procesos que escuchan en un puerto específico. ¿Alguien sabe una buena alternativa? Es suficiente saber qué proceso escucha en ese puerto.
Tenía la impresión de que lsof` solo funciona cuando una tarea realmente se conecta al puerto. Además, uno necesitaría al menos un | grep portnotambién para obtener un resultado significativo.
Martin
Respuestas:
14
Como @vcsjones dijo en los comentarios, lsofes la herramienta para esto:
Sin el -i, muestra todos los archivos abiertos; con solo -imuestra solo archivos de red; si especifica algo después de -ilo cual puede restringir cualquiera o todos: IPv4 / 6, TCP / UDP, nombre de host o IP, y número de puerto / nombre de servicio.
En caso de que sea útil para alguien como yo que busca matar ciegamente todos los procesos usando un puerto dado: lsof -i tcp:5000 | grep LISTEN | awk '{print $2}' | xargs killmata todos los procesos que escuchan en el puerto 5000
sudo lsof -i -P
| grep portno
también para obtener un resultado significativo.Respuestas:
Como @vcsjones dijo en los comentarios,
lsof
es la herramienta para esto:Sin el
-i
, muestra todos los archivos abiertos; con solo-i
muestra solo archivos de red; si especifica algo después de-i
lo cual puede restringir cualquiera o todos: IPv4 / 6, TCP / UDP, nombre de host o IP, y número de puerto / nombre de servicio.fuente
lsof -i tcp:5000 | grep LISTEN | awk '{print $2}' | xargs kill
mata todos los procesos que escuchan en el puerto 5000