Например, на сервере закончилось место, вы удалили огромный лог, но свободное пространство так и не появилось. Часто причина в том, что процесс продолжает держать удалённый файл открытым.
Вместо ручного поиска по
/proc можно использовать lsfd:sudo lsfd -Q 'DELETED'
Фильтр
-Q позволяет выбирать дескрипторы по выражению, а DELETED — находить открытые файлы, которые уже удалены из файловой системы.Можно сразу вывести только интересующие поля:
sudo lsfd -Q 'DELETED' \
-o PID,COMMAND,NAME
Так становится видно, какой процесс удерживает файл и к какому пути тот относился.
А самое интересное —
lsfd умеет не просто показывать список, а выполнять выборки по свойствам дескрипторов:# Дескрипторы конкретного процесса
sudo lsfd -Q 'PID == 1234'
Это удобно при разборе утечек дескрипторов, проблем с освобождением места и неожиданного поведения долгоживущих сервисов.
🔥
lsfd превращает диагностику файловых дескрипторов в обычную фильтруемую выборку. Полезно, когда нужно быстро найти конкретный класс открытых файлов, а не просматривать огромный список вручную.🚪 Linux Ready | #совет
