El maravilloso mundo de Lsof!
lsof, aka «list open files». Es un comando de los unixes que te permite ver todos los archivos que están abiertos en tiempo real.
Por lo tanto, te sirve para ver que procesos están accediendo a determinados archivos, pipes, sockets, dispositivos varios, etc.
Es muy util cuando recibimos mensajes de ‘device is busy’, etc. He aqui una pequeña guia..
Ver todos los archivos abiertos actualmente:
lsoft
Ver todos los archivos abiertos por un usuario:
lsof -u usuario
Ver que archivos está accediendo un proceso con determinado (especificando el pid):
lsof -p 5232
Matar todos los procesos abiertos por determinado usuario:
kill -9 `lsof -t -u ramon`
Ver que procesos están accediendo a determinado archivo:
lsof /var/log/syslog
Ver que procesos están accediendo a cualquier archivo, dentro de determinado directorio:
lsof +D /var/log/
Ver procesos que están accediendo a un archivo/directorio en un mountpoint:
lsof /mnt/cdrom/
Ver todas las conexiones de red:
lsof -i
Ver todas las conexiones TCP abiertas:
lsof -i tcp
Ver todas las conexiones UDP abiertas:
lsof -i udp
Ver procesos que están usando determinado puerto:
lsof -i TCP:22
Ver procesos que están usando un puerto, dentro de un rango:
lsof -i TCP:1024-65534