tgoop.com/pro_python_code/1868
Create:
Last Update:
Last Update:
🐧 Продвинутый совет для Linux: как узнать, какой процесс держит файл, даже если он уже удалён
Иногда файл удаляется (`rm`), но система продолжает занимать под него место. Почему?
Потому что процесс всё ещё держит этот файл открытым, и диск не освобождается, пока он не завершится.
🔥 Найти такие случаи можно так:
lsof | grep deleted
📌
lsof
покажет все файлы, которые открыты процессами. Если строка содержит (deleted)
— это значит, что файл был удалён, но всё ещё используется.Пример вывода:
python3 12345 user txt REG 8,1 20480 123456 /tmp/log.txt (deleted)
→ Процесс с PID
12345
держит удалённый файл /tmp/log.txt
.✅ Что можно сделать:
- Освободить диск — завершить процесс (`kill 12345`)
- Или: очистить через
/proc
без остановки:
: > /proc/12345/fd/3
(только если вы точно знаете, какой дескриптор используется)
⚠️ Часто встречается при работе с логами, Docker-контейнерами и временными файлами.
📌 Используйте
lsof | grep deleted
как диагностику, если "всё удалили, но место не освободилось".BY Python RU
Share with your friend now:
tgoop.com/pro_python_code/1868