gpt4 book ai didi

linux - 使用已删除的文件描述符 : Device or resource busy 以只读方式重新挂载

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:26:12 29 4
gpt4 key购买 nike

我需要在只读挂载的 ext4 文件系统上更新正在运行的守护进程。设备已重新挂载为可读写,如果我修改守护进程(mv、cp),进程继续运行,但文件描述符将其状态更改为“已删除”。

现在,不可能再以只读方式重新挂载文件系统(设备或资源繁忙),直到守护进程被终止并且描述符被释放。

有没有办法在修改正在运行的进程的二进制文件时保持文件描述符有效?

最佳答案

如果进程打开一个文件以从只读文件系统读取,文件系统被重新挂载为可读写并且文件被删除,那么你有一个打开的文件描述符指向一个已删除的文件。该进程仍然可以访问文件的原始内容,但 Linux 以某种方式将此视为不允许重新挂载为只读的原因。

如果原始二进制文件没有被删除,你会没事的,只有新的内容写入它。调用“cp new-binary old-binary”不会阻止重新挂载为只读。 “cat new-binary >old-binary”也是安全的。但是,如果您使用“mv new-binary old-binary”或“rm old-binary”升级二进制文件,您将遇到“mount:/somepath is busy”错误; cp new-binary old-binary'.

关于linux - 使用已删除的文件描述符 : Device or resource busy 以只读方式重新挂载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34678982/

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