lsof
Procesos y sistema
Uso
lsof -i :<port>Lista cada archivo y socket abierto, y asi responde a "quien tiene el puerto 3000"; sin sudo solo ves tus procesos, por lo que un resultado vacio no significa que el puerto este libre.
Opciones habituales
| Opción | Significado |
|---|---|
| -i :3000 | Which process holds port 3000, in either direction. |
| -i TCP -sTCP:LISTEN | Listening TCP sockets only. |
| -t | Print bare PIDs, made for piping into kill. |
| -p <pid> | Everything one process has open. |
| -u <user> | One user's open files. |
| +D <dir> | Every open file underneath a directory, recursively. |
| -n -P | Skip host and port name lookups, which makes it much faster. |
Ejemplos
lsof -i :3000The classic answer to "something is already using port 3000".
kill -9 $(lsof -ti :3000)Kill whatever holds that port.
sudo lsof +D /var/logFind the process keeping a deleted log file open.
Qué se está ejecutando y qué se come la máquina. Identificarlo va antes de matarlo.
Cómo leerlo
- Los corchetes [ ] marcan una parte que puedes omitir.
- Los puntos suspensivos … indican que puedes poner varios.
- Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.
Preguntas
Q. ¿Qué hace lsof?
Lista cada archivo y socket abierto, y asi responde a "quien tiene el puerto 3000"; sin sudo solo ves tus procesos, por lo que un resultado vacio no significa que el puerto este libre.
Q. ¿Cómo se escribe?
lsof -i :<port> — los corchetes marcan lo que puedes omitir.
Q. ¿Cuántas opciones vale la pena saber?
Aquí van 7; la lista completa está en man lsof. Este comando está en Procesos y sistema.
Comandos relacionados
página man: man lsof