前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux Namespace详解(一)

Linux Namespace详解(一)

作者头像
用户5921339
发布2025-05-20 16:49:17
发布2025-05-20 16:49:17
11600
代码可运行
举报
运行总次数:0
代码可运行

01、Linux Namespace是什么

Linux名称空间(Linux namespaces)是Linux内核的一个基础特性,提供了不同层次的隔离和虚拟化,用于隔离资源和进程。名称空间允许不同的进程拥有自己独立的系统视图,包括各种资源的隔离实例。这种隔离对于创建容器、虚拟机和其他轻量级虚拟化技术非常重要。

02、理解Namespace

Linux提供了如下系统资源的隔离机制:

用户可以通过ls /proc/PID/ns/来查看某个进程的Namespace文件信息

Namespace的生命周期

如果没有任何其他因素,Namespace将在其中的最后一个进程终止或者离开该Namespace时自动删除。当然也存在特殊的情况,例如下面这段操作将会使Namespace一直驻留。

通过挂载的方式打开文件描述符:

代码语言:javascript
代码运行次数:0
运行
复制
touch ~/mnt
mount --bind /proc/2935/mnt ~/mnt

这样就可以保留 PID 为2935的 Mount Namespace,即使 2935 进程销毁或者退出,ID为 4026531840 的 Mount Namespace依然存在。

此外,Namespace不会被自动删除的情况还有:

  • 是一个拥有等级体系的 Namespace,且有一个 child Namespace
  • 是一个 user Namespace,且拥有一个或多个 nonuser Namespace
  • 是一个 PID Namespace,且有一个进程通过 /proc/[pid]/ns/pid_for_children 软链接引用这个 Namespace
  • 是一个 IPC Namespace,且进程通信的 mqueue 对应挂载文件系统引用这个 Namespace
  • 是一个 PID Namespace,且 proc(5) 对应挂载文件系统引用这个 Namespace
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT人家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档