zer*_*iel 5 linux process lxc namespace
这个问题类似于我关于如何列出名称空间的问题。另外,我想知道一些有关将进程从一个命名空间移动到另一个命名空间的信息?例如,我在一个命名空间中有当前会话的进程,lxc
在不同命名空间中有容器的其他一些进程,所以我想links
在该容器的 cgroup 中运行(例如)(很容易使用cgexec
),然后将其移动到容器的命名空间,因为我有在容器中运行此进程而不在其中执行它。在Linux中可以做到还是不可能??
如果您已经在某个命名空间中,则不需要在某些控制组中运行进程,而是必须使用命名空间进行操作。新命名空间中的所有新进程都将 \xc2\xabinherit\xc2\xbb 与该命名空间相关的所有控制组。
\n\n可以使用setns()函数在不同命名空间之间移动进程,也可以使用nsenter命令util-linux
输入新的命名空间,然后在其中运行新任务。您所需要的只是知道进程的 PID,它已经是新的命名空间,然后您可以使用(如果您想运行links
):
# nsenter --PID --target pid_in_ns_you_want_to_enter && links\n
Run Code Online (Sandbox Code Playgroud)\n\n这是一些作弊,因为你不移动进程,你只是进入命名空间并运行新进程,但通过这种可能性,你可以进入某些 NS,然后在fork
它已经在其他 NS 进程中运行。