Namespace

使用Namespace(命名空间),可以让每个进程组具有独立的PID、IPC和网络空间。

可以向clone系统调用的第3个参数flags设置划分命名空间的标志,通过执行clone系统调用可以划分命名空间。

例如,划分PID命名空间后,在新生成的PID命名空间内进程的PID是从1开始的。从新PID为1的进程fork()分叉得到的进程,被封闭到这个新的PID命名空间,与其他PID命名空间分隔开。在新创建的PID命名空间中生成的进程,其PID有可能与存在于原PID命名空间中的进程相同,但由于二者的PID命名空间划分开,就不存在相互影响。同样,也可以用PID、网络、文件系统的挂载空间、UTS(Universal Time sharing System)为对象进行资源划分。可以在clone系统调用的第3个参数中设置资源划分的种类,如表2-2所示。

Namespace - 图1