gpt4 book ai didi

linux - 文件显示在 ls 中,但不能 rm 或 mv,似乎由某些未知进程持有

转载 作者:太空宇宙 更新时间:2023-11-04 04:32:57 25 4
gpt4 key购买 nike

我在运行 CentOS 7 的 SGE 集群上做了很多工作,最近遇到了作业随机终止的问题,但似乎有些进程仍在运行,导致我无法清理并重新开始。当我尝试删除必要的文件时,我收到“没有这样的文件或目录”消息,但该文件显示在 ls 中。论坛搜索告诉我这可能是因为名称中包含非打印字符,但我无法使用 touch 创建具有相同名称的文件,也无法使用 rm -i 删除它。例如:

[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]$ 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 命令,它永远不会显示任何内容。

非常感谢任何建议,谢谢!

最佳答案

尝试:

lsof /absolute/path/to/file_bad.csv

如果上述命令产生任何输出,您将找到保持该文件使用的 PID 责任。

您还可以尝试使用以下命令来删除该文件。

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

关于linux - 文件显示在 ls 中,但不能 rm 或 mv,似乎由某些未知进程持有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48024894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com