Linux dispone de una herramienta llamada lsof, que permite mostrar un listado de ficheros abiertos y que están siendo empleados en el sistema. Con ella, podemos localizar ficheros que están siendo usados por procesos (PID), puertos utilizados por esos ficheros o servicios, sockets de comunicación, ficheros usados por usuario, etc.
Ejemplos de uso
-Listar todos los archivos abiertos
lsof
-Listar los ficheros abiertos de un determinado PID
lsof -p PID
-Listar ficheros abiertos en un dispositivo o partición:
lsof /particion
-Listar ficheros abiertos de un determinado usuario:
lsof -u caminosdigitales
-Ver actividad en tiempo real
lsof -i
-Ver actividad en el momento exacto, de ejecutar el comando.
lsof -P -i -n
-Comprobar servicios/puertos que están escuchando
lsof -i -nP
– Ver archivos abiertos por un programa concreto
lsof -c cupsd
El siguiente ejemplo muestra un listado de los archivos en uso dentro del filesytem /tmp por parte del usuario “caminosdigitales”:
lsof -u caminosdigitales -a +D /tmp
– Visualizar archivos abiertos de un directorio/path concreto
lsof +D /etc
– Mostrar archivos abiertos basados en el rango de puertos
lsof -i :1-1024
– Mostrar archivos abiertos basados en el tipo de conexión
lsof -i udp
– Mostrar lista de “Parent PID” o (PPID)
lsof -R
Otros jemplos
Puedes averiguar porque no funciona la bandeja del cd, usando
lsof /dev/cdrom
Si el audio no funciona, es posible obtener¿Quién está usando el administrador de audio? La respuesta la obtenemos con lsof /dev/audio
Es posible hacer un refresco un número de veces determinado, y poner al final separador entre repetición:
Es decir podemos usar +|-r (repetir) para poner el modo repetición. Esta opción de repetición puede ser aplicada de dos formas, un +r y otra -r. Podemos también añadir el número de segundo que queremos que lsof espera despues de refrescar la pantalla.
Ejemplo:
lsof -u caminosdigitales -c ssh -a -r4
Puedes obtener ayuda de esta herramienta, ejecutando:
lsof -h
Be the first to comment