unix - off - use lsof
Guía de supervivencia de lsof (6)
lsof es una utilidad de línea de comandos increíblemente poderosa para sistemas Unix. Enumera los archivos abiertos, mostrando información sobre ellos. Y dado que la mayoría de todo es un archivo en sistemas Unix, lsof puede dar a los administradores de sistemas una tonelada de datos de diagnóstico útiles.
¿Cuáles son algunas de las formas más comunes y útiles de usar lsof, y qué interruptores de línea de comandos se usan para eso?
Vea qué archivos ha abierto una aplicación o daemon en ejecución:
lsof -p pid
Donde pid es el ID de proceso de la aplicación o daemon.
lsof -i
proporcionará una lista de enchufes de red abiertos. La opción -n
evitará las búsquedas de DNS, lo que es útil cuando la conexión de red es lenta o poco confiable.
Para mostrar todas las redes relacionadas con un port
determinado:
lsof -iTCP -i :port
lsof -i :22
Para mostrar conexiones a un host específico, use @host
lsof [email protected]
Mostrar conexiones basadas en el host y el puerto usando @host:port
lsof [email protected]: 22
grep
ping para LISTEN
muestra a qué puertos está esperando el sistema las conexiones:
lsof -i| grep LISTEN
Mostrar lo que un usuario dado ha abierto usando -u
:
lsof -u daniel
Vea qué archivos y conexiones de red está usando un comando con -c
lsof -c syslog-ng
El -p
permite ver qué ha abierto un determinado ID de proceso, lo cual es bueno para aprender más sobre procesos desconocidos:
lsof -p 10075
La opción -t
devuelve solo un PID
lsof -t -c Mail
Al usar las opciones -t
y -c
juntas, puede realizar procesos HUP
kill -HUP $(lsof -t -c sshd)
También puede usar -t
con -u
para matar todo lo que un usuario tiene abierto
kill -9 $(lsof -t -u daniel)
lsof +D /some/directory
Mostrará recursivamente todos los archivos abiertos en un directorio. + d solo para el nivel superior.
Esto es útil cuando tienes un alto% de espera para IO, correlacionado para usar en un FS particular y quieres ver qué procesos están masticando tu io.
lsof +f -- /mountpoint
enumera los procesos que usan archivos en el montaje montado en / mountpoint. Particularmente útil para encontrar qué proceso (s) están usando una memoria USB o CD / DVD montados.
lsof -i :port
le dirá qué programas están escuchando en un puerto específico.