01、Linux Namespace是什么
Linux名称空间(Linux namespaces)是Linux内核的一个基础特性,提供了不同层次的隔离和虚拟化,用于隔离资源和进程。名称空间允许不同的进程拥有自己独立的系统视图,包括各种资源的隔离实例。这种隔离对于创建容器、虚拟机和其他轻量级虚拟化技术非常重要。
02、理解Namespace
Linux提供了如下系统资源的隔离机制:
用户可以通过ls /proc/PID/ns/来查看某个进程的Namespace文件信息
Namespace的生命周期
如果没有任何其他因素,Namespace将在其中的最后一个进程终止或者离开该Namespace时自动删除。当然也存在特殊的情况,例如下面这段操作将会使Namespace一直驻留。
通过挂载的方式打开文件描述符:
touch ~/mnt
mount --bind /proc/2935/mnt ~/mnt
这样就可以保留 PID 为2935的 Mount Namespace,即使 2935 进程销毁或者退出,ID为 4026531840 的 Mount Namespace依然存在。
此外,Namespace不会被自动删除的情况还有: