我有一个关于 Linux PID 命名空间中进程的 PID 数量的问题。
假设:(NS = 命名空间)
P1 (PID NS1) -> 克隆 -> P2 (PID NS2) -> 克隆 -> P3 (PID NS3)
P3 有多少个 PID?
我认为以下内容,但我不确定是否正确:
- 一个用于 NS3
- 主机一台
- 一个用于 NS2
- 一个用于 NS1
谢谢。
答案1
根据 PID 命名空间的定义,存在于命名空间中的进程在该命名空间中具有 PID,并且在每个祖先命名空间中都有一个(不同的,除非重合)PID。因此,NS3 中的进程有 4 个不同的 PID:一个在 NS3 中、一个在 NS2 中、一个在 NS1 中、一个在根命名空间中。
有一个好的Michael Kerrisk 在 LWN 上发布的有关命名空间的系列文章——特别阅读第 3 部分:PID 命名空间和第 4 部分:有关 PID 命名空间的更多信息。