【问题标题】:Reserved Process ID [closed]保留进程 ID [关闭]
【发布时间】:2013-04-26 11:01:19
【问题描述】:

据我所知,Process ID 1 是为init 保留的。

进程 id 2 表示什么?为什么没有指向此进程 ID 的二进制可执行文件的软链接。

sudo ls -l /proc/1/exe    
lrwxrwxrwx 1 root root 0 Apr 24 14:53 /proc/1/exe --> /sbin/init  

但是对于/proc/2/exe

ls : cannot read symbolic link /proc/2/exe: No such file or directory
lrwxrwxrwx 1 root root 0 Apr 24 14:53 /proc/2/exe

我使用的是 Ubuntu 12.04。

请分享你的知识。

【问题讨论】:

    标签: linux unix pid proc


    【解决方案1】:

    这是因为没有可链接的二进制文件。这个过程可能是由内核本身启动的。看看ps aux 的输出。您在括号中看到的任何进程也不会有 exe 软链接。

    【讨论】:

      【解决方案2】:

      因为此刻你问的是没有 pid 2 的进程。 内核随意分配pid。

      或者因为 pid 2 用于某些内核任务;在我的机器上它是为kthreadd 这是一些纯内核进程。见this answer

      【讨论】:

      • 所以每当一个进程死亡时,相应的文件夹也会在 /proc 右边被删除。但文件夹 /proc/2 可用。
      • pid 2 的进程可能是系统进程,不属于你。那么/proc/2/ 存在但无法访问
      • 我猜,进程 2 可能被进程 1 分叉,所以 /proc/2/exe 中没有二进制 exe 链接。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-10
      • 2020-10-15
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多