lsof (list open files) показывает, какой процесс держит файл, сокет или порт.
# кто держит конкретный файл
lsof /var/log/nginx/access.log
# все открытые файлы процесса
lsof -p 1234
# все открытые файлы в директории (рекурсивно)
lsof +D /var/www/html
# открытые сетевые соединения
lsof -i
# слушающие TCP-порты
lsof -i TCP -s TCP:LISTEN
# кто занял порт 80
lsof -i :80
Почему файл нельзя удалить или размонтировать:
# найти процесс, держащий точку монтирования
lsof +D /mnt/data
# удалённые файлы, которые ещё открыты (занимают место)
lsof | grep deleted
lsof -i выводит COMMAND, PID, USER, TYPE (TCP/UDP), NAME (адрес:порт). Сочетание с grep и -n (без DNS-резолвинга) ускоряет диагностику в 2–3 раза.
#linux #networking #sysadmin #debug
