Если файл удалён, но процесс продолжает удерживать его файловый дескриптор, место на диске не освобождается до закрытия этого дескриптора.
Поиск таких файлов:
sudo lsof -nP +L1
Команда показывает файлы с
link count = 0 — то есть удалённые из файловой системы (unlinked), но всё ещё открытые процессами.Фильтрация по пути:
sudo lsof -nP +L1 /var
Позволяет отфильтровать файлы, связанные с указанным путём (по имени/расположению файла).
Формат вывода зависит от версии
lsof и ширины терминала, поэтому парсинг через awk возможен, но небезопасен — используйте вывод как ориентир.Освобождение места без перезапуска системы:
sudo kill -HUP PID
Работает только для демонов, которые корректно обрабатывают сигнал перезагрузки конфигурации и переоткрывают файловые дескрипторы.
Завершение процесса:
sudo kill PID
Отправляется
SIGTERM — процесс штатно завершается, закрывает файловые дескрипторы и освобождает место. SIGKILL (-9) — крайняя мера, если процесс не реагирует.Проверка после очистки:
df -h
sudo lsof -nP +L1
Важно убедиться, что удалённые файлы больше не удерживаются процессами.
🔥 Типичная ситуация при ручном удалении логов без
logrotate или при аварийной ротации файлов.➡️ DevOps Ready | #практика