Esta é uma máquina solaris (unix)
Tenho uma pasta que contém algumas subpastas, mas não há nenhum arquivo nela.
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 ..
Tento removê-lo, mas não consigo:
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
Tento procurar o ponto de montagem, mas falho:
root # mount | grep `pwd`
Tento procurar um processo em execução com pwd, mas falho:
root # fuser -u `find trash`
trash:
trash/src:
trash/src/tob:
Existe alguma pista de como devo deletar esta pasta, sem formatar o disco. Ainda sou um novato no Unix, então por favor me diga também o comando se estiver procurando mais informações.
Responder1
Provavelmente algum processo está recriando opara Barquivo diretamente após rm excluí-lo.Aqui está uma postagem no blog sobre como lidar com isso.
A remoção deste arquivo apenas o substitui por outro. Existem duas soluções: excluir manualmente o arquivo no servidor NFS ou (se você não tiver esse tipo de acesso) encerrar seu processo.
Se o arquivo não estiver no NFS, o conselho para verificar qual processo possui um identificador para o arquivo e eliminá-lo ainda é aplicável. Verificar com:
fuser -u <file>
Depois de encerrar o processo, você poderá excluir o diretório.