Назад | Перейти на главную страницу

Невозможно удалить пустую папку без использования пользователем с помощью rm -rf

Это машина Solaris (unix)

У меня есть папка, в которой есть подпапки, но в ней нет файла.

root # ls -al `find trash`
trash:
total 6
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxr-xr-x   9 ----     ----        1024 Oct  8 06:20 ..
drwxrwxrwx   3 root     root         512 Aug  6 07:37 src

trash/src:
total 6
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxrwxrwx   3 root     root         512 Aug  6 07:37 ..
drwxrwxrwx   3 root     root         512 Aug  6 07:37 tob

trash/src/tob:
total 4
drwxrwxrwx   3 root     root         512 Aug  6 07:37 .
drwxrwxrwx   3 root     root         512 Aug  6 07:37 ..

Пытаюсь удалить, но не получается:

root # rm -rf trash
rm: Unable to remove directory trash/src/tob: File exists
rm: Unable to remove directory trash/src: File exists
rm: Unable to remove directory trash: File exists

Я пытаюсь найти точку монтирования, но не могу:

root # mount | grep `pwd`

Я пытаюсь найти процесс, запущенный с pwd, но не могу:

root # fuser -u `find trash`
trash:
trash/src:
trash/src/tob:

Есть ли какая-нибудь подсказка, как мне удалить эту папку, не форматируя диск. Я все еще новичок в unix, поэтому, пожалуйста, сообщите мне также команду, если вам нужна дополнительная информация.

Возможно, какой-то процесс воссоздает тоб файл сразу после того, как rm удалит его. Вот сообщение в блоге об обращении с этим.

При удалении этого файла он заменяется другим. Есть два решения: вручную удалить файл на сервере NFS или (если у вас нет такого доступа) убить его процесс.

Если файл не находится в NFS, рекомендуется проверить, какой процесс имеет дескриптор файла, и убить его. Проверить с:

fuser -u <file>

После завершения процесса вы сможете удалить каталог.