gpt4 book ai didi

linux - 恢复卡在 Linux shell 进程中的已删除文件

转载 作者:太空狗 更新时间:2023-10-29 11:43:27 24 4
gpt4 key购买 nike

我有一个长时间运行的后台进程,并使用一个文件将日志写入其中。它的大小增加得太大了。我刚刚删除了文件并创建了一个具有相同名称、相同权限和所有权的新文件,但新文件没有任何条目。旧文件被标记为已删除并且仍在被进程使用,这可以通过 lsof 命令清楚地看到。

请告诉我,有什么办法可以恢复那个文件和。

您的积极回应真的很有帮助。

最佳答案

如果文件仍然被某些进程打开,您可以使用 /proc 文件系统恢复它。

首先,检查在该进程中打开该文件的文件描述符编号。如果文件在 PID X 的进程中打开,请使用 lsof 命令,如下所示:

lsof -p X

这将显示当前由 X 打开的文件列表。第 4 列显示文件描述符,最后一列显示文件所在的挂载点和文件系统的名称(忽略 ur 和其他标志文件描述符号,它们只是表示文件是否打开用于读、写等)

如果文件描述符编号为Y,您可以在/proc/X/fd/Y 中访问其内容。所以,像这样的东西可以恢复它:

cp /proc/X/fd/Y /tmp/recovered_file

关于linux - 恢复卡在 Linux shell 进程中的已删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31514798/

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