/proc/4587
即使没有 PID 4587 的进程,是否有可能存在类似的文件夹?
答案1
如果/proc
只是proc
挂载(并且没有人用覆盖来玩弄花招),则不,基于pid的文件夹仅在相应进程以某种状态存在时才存在(包括作为僵尸进程)。事实上,就在返回进程 ID 的目录条目之前,内核重新验证进程的存在——所以在返回目录条目的那一刻,相应的进程仍然存在。访问目录也是从查找对应的进程开始。 (如果行号发生变化,请查找proc_pident_instantiate
和proc_pident_lookup
。)
您可能会遇到因/proc
稍后列出和使用结果(甚至几微秒后)而引起的问题:当您列出时,进程可能正在运行/proc
,并在对结果采取行动之前停止。