我们的情况是:我可以将内核线程从一个名称空间移动到另一个名称空间吗?
- 首先我们有一个内核线程(说KS)启动时,内核开始运行运行;
- 然后,当系统准备就绪时,我们创建另一个命名空间(比如NS1),它与LXC有不同的mntns。
我们的要求是KS需要写一些只能被NS1看到的路径。所以我想我可以将KS移动到NS1名称空间(至少更改挂载名称空间)?如果是,如何?我已经检查了setns()
系统调用及其内核源代码,但仍然不知道如何做(无论是在用户空间还是更改KS源代码),甚至不知道这是否是解决问题的正确方法。我的另一个问题是:我的理解是,如果一个内核任务(如内核线程)在进程上下文中知道“命名空间”,但我的朋友认为“命名空间”是一个用户空间概念,所有内核员工只知道根名称空间。哪一个是正确的?
非常感谢! –