Linux kernel 为什么/proc/[PID]/exe会被破坏?

Linux kernel 为什么/proc/[PID]/exe会被破坏?,linux-kernel,Linux Kernel,我环顾了一下/proc,我想知道为什么/proc/[PID]/exe会被破坏 我的意思是,/proc是一个伪文件系统,它背后的原理是 /proc提供有关运行进程和内核数据结构的信息 该文件夹中的许多其他文件也有类似的文件(原理) 因此,/proc/[PID]/exe背后的原理应该是 /proc/[PID]/exe提供可执行文件的绝对路径 但是,断开的链接打破了这个规则;那么,这个“符号链接”背后的真正原理是什么?内核内部“幕后”的实际用途是什么 或者这可能是我的一个小游戏,/proc只是“面向用

我环顾了一下/proc,我想知道为什么/proc/[PID]/exe会被破坏

我的意思是,/proc是一个伪文件系统,它背后的原理是

/proc提供有关运行进程和内核数据结构的信息

该文件夹中的许多其他文件也有类似的文件(原理)

因此,/proc/[PID]/exe背后的原理应该是

/proc/[PID]/exe提供可执行文件的绝对路径

但是,断开的链接打破了这个规则;那么,这个“符号链接”背后的真正原理是什么?内核内部“幕后”的实际用途是什么


或者这可能是我的一个小游戏,/proc只是“面向用户”,这意味着内核并不真正使用这些信息(因此它们可能不完美)

为什么您认为每个可执行文件都必须有一个inode链接到一个真正存在的未删除dentry?如果这是真的,那么如果不先关闭正在运行的程序(或者重命名为一个临时文件名,以后需要清理),就永远无法升级该程序?现在我不确定它是否足够具体,不需要先讨论一大堆真正的基础背景就可以回答;如果您缩小范围以明确您确实了解底层背景(即inode是什么;是否存在延迟卸载的文件系统等),并且仍然有问题,这将是有帮助的。断开的符号链接仍然指向特定的路径,只是目前不存在的路径。这里没有违反关于
/proc
定义的规则。Yes/proc是“为用户”的,它反映内核中的内部结构,尽管这些结构存在于是否安装文件系统中。如果启动一个程序,然后删除该可执行文件,则符号链接无法指向现有文件名(因为您刚刚删除了它),这就是为什么您可以看到损坏的符号链接-这对任何人来说都不是问题。@CharlesDuffy您是对的,我的问题不符合指导原则,我会努力提高它的准确性为什么你认为每个可执行文件都必须有一个inode链接到一个真正存在的未删除dentry?如果这是真的,那么如果不先关闭正在运行的程序(或者重命名为一个临时文件名,以后需要清理),就永远无法升级该程序?现在我不确定它是否足够具体,不需要先讨论一大堆真正的基础背景就可以回答;如果您缩小范围以明确您确实了解底层背景(即inode是什么;是否存在延迟卸载的文件系统等),并且仍然有问题,这将是有帮助的。断开的符号链接仍然指向特定的路径,只是目前不存在的路径。这里没有违反关于
/proc
定义的规则。Yes/proc是“为用户”的,它反映内核中的内部结构,尽管这些结构存在于是否安装文件系统中。如果启动一个程序,然后删除该可执行文件,则符号链接无法指向现有文件名(因为您刚刚删除了它),这就是为什么您可以看到一个损坏的符号链接-这对任何人来说都不是问题。@CharlesDuffy您是对的,我的问题没有遵循指导原则,我将尝试在准确性方面改进它