La aplicacion lsof (list open files) nos sirve para listar los procesos que se encuentran abriendo un determinado archivo, directorio, socket, etc.
A continuación se explica el funcionamiento de este comando.
Veamos algunos de sus usos mas frecuentes:
Tratamos de desmontar un disco o CD-ROM
# umount /cdrom
umount: /cdrom: device is busy
No se ha desmontado porque algun proceso esta haciendo uso del CDROM y hasta que no lo libere no podremos desmontarlo, el problema es que desconocemos que aplicacion se encuentra usando dicho CDROM, mediante lsof podremos conocerlo.
# lsof +D /cdrom
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 621 ariel cwd DIR 3,64 2048 57344 /cdrom
Lsof nos dice que el proceso bash esta usando el directorio "/cdrom" (directorio actual de trabajo) con el usuario ariel. Cerrando ese bash podremos desmontar el CDROM.
# kill 621
Otro uso seria cuando miramos los servicios que esta brindando nuestro Linux:
# netstat -tl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:printer *:* LISTEN
tcp 0 0 localhost:www *:* LISTEN
tcp 0 0 *:3000 *:* LISTEN
tcp 0 0 *:smtp *:* LISTEN
Vemos algun puerto en espera (listen) que desconocemos que aplicacion este detras. Mediante lsof podremos saberlo.
Para el ejemplo anterior, investigamos que aplicacion abre el puerto 3000.
# lsoft -i :3000
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
faucet 279 root 3u IPv4 349 TCP *:3000 (LISTEN)
Vemos que la aplicacion faucet esta abriendo el puerto 3000.
Comentarios recientes
8 weeks 1 day ago
22 weeks 2 days ago
27 weeks 5 days ago
36 weeks 3 days ago
44 weeks 2 days ago
51 weeks 5 days ago
1 year 3 days ago
1 year 12 weeks ago
1 year 12 weeks ago
1 year 15 weeks ago