O arquivo aparece em ls mas não pode rm ou mv, parece ser mantido por algum processo desconhecido

2

Eu faço muito trabalho em um cluster SGE rodando o CentOS 7, e recentemente tive problemas com trabalhos morrendo aleatoriamente, mas aparentemente com alguns processos ainda em execução que me impedem de limpar para começar de novo. Quando tento excluir os arquivos necessários, recebo uma mensagem "não há arquivo ou diretório", mas o arquivo é exibido em ls . Pesquisas em fóruns me disseram que isso pode ser devido a caracteres não imprimíveis no nome, mas não consigo criar um arquivo com o mesmo nome usando touch ou removê-lo com rm -i e nada aparece com ls -b ou ls -Q . Por exemplo:

[ark19@blade04 testing]$ rm file_bad.csv 
rm: cannot remove ‘file_bad.csv’: No such file or directory
[ark19@blade04 testing]$ rm -f file_bad.csv 
[ark19@blade04 testing]$ ls file*
file1.csv  file2.csv  file_bad.csv
[ark19@blade04 testing]$ ls -l file*
-rwx——— 1 ark19 root  88552 Dec 26 18:31 file1.csv
-rwx——— 1 ark19 root  87149 Dec 26 18:32 file2.csv
-rwx——— 1 ark19 root 183588 Dec 27 19:45 file_bad.csv
[ark19@blade04 testing]$ ls -b file*
file1.csv  file2.csv  file_bad.csv
[ark19@blade04 testing]$ ls -Q file*
"file1.csv"  "file2.csv"  "file_bad.csv"
[ark19@blade04 testing]$ touch file_bad.csv 
touch: cannot touch ‘file_bad.csv’: No such file or directory
[ark19@blade04 testing]$ rm -i -- file_bad.csv 
rm: cannot remove ‘file_bad.csv’: No such file or directory
[ark19@blade04 testing]$ ls file*
file1.csv  file2.csv  file_bad.csv

Como tal, estou bastante certo de que o problema é que o arquivo incorreto está sendo mantido por algum processo, e quando o criei com os administradores do cluster, a única solução que eles criaram foi dar-lhes o nome do arquivo poderia apagá-lo. Isso tem acontecido com muita freqüência para que isso seja uma solução sustentável, então eu queria perguntar aqui se há algo mais que eu possa fazer para resolver o problema sozinho, como de alguma forma forçar excluir o arquivo e fechar todos os processos que estão entrando no caminho?

Na maioria das vezes não sei em qual nó do cluster o processo suspeito está sendo executado e não sei como, de alguma forma, verificar todos eles para localizar e eliminar o processo apropriado ... Se eu executar o lsof comando do nó que eu estou logado, nunca aparece nada.

Qualquer sugestão é muito apreciada, obrigado!

    
por aknodt 05.01.2018 / 19:52

0 respostas

Tags