2017-12-29 8 views
0

CentOS 7を実行しているSGEクラスタで多くの作業をしています。私が最初からやり直すのを妨げるプロセスはまだ実行中です。必要なファイルを削除しようとすると、 "no such file or directory"というメッセージが表示されますが、ファイルはlsで表示されます。フォーラムの検索では名前に非印字文字が含まれている可能性がありますが、touchを使用して同じ名前のファイルを作成することも、rm -iで削除することもできません。例えば:私は問題が悪いファイルはいくつかのプロセスが保持されていることである、と私は、クラスタでそれを育てたとき、彼らはそれらを与えていた思い付いた唯一のソリューションを管理者向けかなり確信している。このようファイルはlsで表示されますが、rmやmvでは表示されません。未知のプロセスによって保持されているようです。

[[email protected] testing]$ rm file_bad.csv 
rm: cannot remove ‘file_bad.csv’: No such file or directory 
[[email protected] testing]$ rm -f file_bad.csv 
[[email protected] testing]$ ls file* 
file1.csv file2.csv file_bad.csv 
[[email protected] testing]$ touch file_bad.csv 
touch: cannot touch ‘file_bad.csv’: No such file or directory 
[[email protected] testing]$ rm -i -- file_bad.csv 
rm: cannot remove ‘file_bad.csv’: No such file or directory 
[[email protected] testing]$ ls file* 
file1.csv file2.csv file_bad.csv 

ファイル名を削除することができます。これは持続可能な解決策であるためにはあまりにも頻繁に起こっているので、問題を自分で解決するために何かできることがあれば、ここで質問したかったのですが、何とかファイルを強制的に削除し、方法?

ほとんどの場合、疑わしいプロセスが実行されているクラスタノードはわかりませんが、私はそれらのすべてをチェックして適切なプロセスを強制終了する方法を知りません。私がログインしているノードからのlsofコマンドは、何も表示されません。

ご意見ありがとうございます。

+0

名前にはほとんど見えない不良文字があります。 ls -b、-Q、--quoting-style = shellまたは--quoting-style = shell-always – bmargulies

+0

@bmarguliesにお返事ありがとうございます。引用符で囲みます(空白は表示されません)。また、「touch file_bad.csv」はエラーを返します.file_bad.csvが完全な名前ではない場合は正しくありません。 – aknodt

+0

'ls -i'を実行して、各ファイルのiノード番号を確認します。それから 'findを使います。 -inum NUMBER -print'を実行して確認し、findでファイルを削除します。 -inum NUMBER -delete'または 'find。 -num NUMBER -exec rm -f {} \; -deleteオプションが利用できない場合は、-printを実行します。それでも動作しない場合は、ファイルに 'fuser'を使用して、どのプロセスにそれがあるかを確認してください。最悪の場合は、システムを再起動します。 – Nic3500

答えて

-1

試してみてください。/absolute/path/to/file_bad.csv

lsofを

上記のコマンドを使用すると、使用中にそのファイルを維持するためのPID responsiblrがあります任意の出力を生成する場合。

以下のcmdを実行してファイルを削除することもできます。

find/path/to/file -type f -name 'file_bad.csv' -exec rm -f {} \;

+0

これで私は 'lsof:status error on /absolute/path/to/file_bad.csv:No such file or directory'を取得します。 'find'コマンドはエラーではありませんが、ファイルはまだそこにあります。 – aknodt

+0

ファイル名があなたの端末に見えない特殊文字で構成されていると思っています。 "find/path/to/file -type f -name '* ile *'"を見つけて、何を見つけたら教えてください – AnythingIsFine

+0

編集:-name " ile "私はそれが見えるコメントに*入力することはできません – AnythingIsFine

関連する問題