我不明白命名空间如何与/proc
. 我假设/proc
返回值基于查询它们的过程。
例如,让我们确定全局 PID 命名空间内当前进程的 PID:
$ bwrap --bind / / readlink /proc/self
6182
Run Code Online (Sandbox Code Playgroud)
这对我来说很有意义。然而,当我readlink
在它自己的 PID 命名空间中隔离时:
$ bwrap --bind / / --unshare-pid readlink /proc/self
6177
Run Code Online (Sandbox Code Playgroud)
我得到同样的结果!要获取命名空间内的 PID,我需要添加--proc /proc
:
$ bwrap --bind / / --unshare-pid --proc /proc readlink /proc/self
2
Run Code Online (Sandbox Code Playgroud)
但不应该/proc
总是考虑阅读过程的上下文吗?为什么procfs
需要额外的内容以及它与流程有何关系readlink
?
如果我不创建新的 PID 命名空间,则额外的内容procfs
没有任何区别:
$ bwrap --bind / / --proc /proc readlink /proc/self
6179
Run Code Online (Sandbox Code Playgroud)