what off unix sysadmin lsof

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.