Как удалить “блокировку” из удаленных, но все еще используемых файлов на Linux?

-o опция дает grep команду ограничивать вывод просто, что часть строки, которая соответствует шаблону.

Повторно выполните команду без -o и результат действительно будет

this is a line.

4
23.01.2015, 11:40
2 ответа

Вы можете использовать записи в / proc , чтобы укоренить такие файлы.

# ls -l /proc/4315/fd

Это покажет все файлы, открытые по процессу 4315. Вы уже использовали LSOF , и это показывает, что удаленный файл является дескриптором 135 файла, поэтому вы можете освободить место, используемый файлом, используемым Следует:

# > /proc/4315/fd/135

То же самое касается другого удаляемого файла, открытого процессором 44654, там он дескриптор 133 файла, поэтому:

# > /proc/44654/fd/133

Теперь вы должны увидеть, что пространство освобождено.

Вы также можете использовать это, чтобы скопировать содержимое файла, которое было удалено, но все еще проводится открытым процессом, просто CP / PROC / XXX / FD / YY / IME / INFORE / OR / PLOFE / FILENAME Отказ

6
27.01.2020, 20:52

Короткое подключение к BadProcess Использование отладчика или что-то еще, что использует PTRACE () средство для манипулирования процессом и заставить его закрыть некоторые его файлы, я не думаю, что есть способ сделать это.

Ваш заголовок говорит о замках, но вы не упоминаете замки в теле вашего вопроса. В любом случае, есть также возможность насильственно сделать процесс отказаться от блокировки, который он имеет в файле. Это правда, является ли файл все еще связан в файловой системе или нет.

0
27.01.2020, 20:52

Теги

Похожие вопросы