ファイルはlsには表示されますが、rmまたはmvには表示されません。未知のプロセスによってアーカイブされたようです。

ファイルはlsには表示されますが、rmまたはmvには表示されません。未知のプロセスによってアーカイブされたようです。

CentOS 7を実行しているSGEクラスタで多くの作業を行っていますが、最近の作業はランダムに終了しますが、一部のプロセスがまだ実行されているように見えるため、クリーンアップして再起動できないという問題が発生しました。必要なファイルを削除しようとすると、「該当するファイルまたはディレクトリがありません」というメッセージが表示されますが、ファイルがに表示されますls。フォーラム検索によると、名前に印刷されない文字があるためかもしれませんが、それはできません。同じ名前のファイルでファイルを作成するtouchか、またはを使用して削除すると、何も表示されませんrm -i。たとえば、ls -bls -Q

[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

したがって、問題は一部のプロセスによってアーカイブされた誤ったファイルであると確信しています。クラスタ管理者にこの問題を提起したときに考えた唯一の解決策は、削除できるようにファイル名を提供することでした。これは持続可能な解決策になるにはあまりにも頻繁に発生するので、どういうわけかファイルを強制的に削除し、そのファイルへのすべてのアクセスを閉じるなど、問題を直接解決するために他の方法があるかどうかを尋ねたいと思いました。プロセスモード?

ほとんどの場合、疑わしいプロセスがどのクラスタノードで実行されているのかわからず、すべてのプロセスを確認して適切なプロセスを見つけて終了する方法もわかりません。lsofノードでコマンドを実行すると、すでにログインしていますが、何も表示されませんでした。

どんなアドバイスも本当にありがとうございます。ありがとうございます!

ベストアンサー1

おすすめ記事