Linux目录
Linux目录
Linux 系统中的 /run 目录是一个临时文件系统(tmpfs),用于在系统启动早期阶段保存运行时数据(runtime data)。它在系统引导时由内核挂载,通常挂载为 tmpfs 类型,这意味着它是驻留在内存中的、非持久化的。
✅ /run 的主要作用
存储运行时进程数据
- 比如:服务的 PID 文件(如
/run/nginx.pid)、锁文件、套接字(socket)等。 - 替代了旧的
/var/run,并且是系统启动时最早可用的目录之一。
- 比如:服务的 PID 文件(如
供系统服务和守护进程使用
比如
systemd、udev等服务会在其中创建自己的子目录,如:1 2 3 4 5 6
arduino 复制编辑 /run/systemd/ /run/udev/
跨服务通信和同步
- 某些服务在启动时会通过
/run中的 socket 文件与其他服务进行通信(如dbus)。
- 某些服务在启动时会通过
🔁 和其他目录的对比
| 目录 | 功能 | 是否持久化 |
|---|---|---|
/run | 运行时状态(PID、锁、socket) | ❌(tmpfs) |
/tmp | 临时文件(不限用途) | ❌(通常是 tmpfs,但不强制) |
/var/run | 已废弃,之前也用于运行时数据 | ❌ |
/var/tmp | 临时文件(重启后保留) | ✅ |
📌 注意事项
/run在启动阶段就由内核或systemd创建,在根文件系统准备好之前就已经可用。- 如果你在
/run下保存数据,它将在重启后丢失,因此适用于仅在当前会话中有效的状态数据。
🔧 示例
- PID 文件:
/run/sshd.pid→ 存放 sshd 的进程号。 - 服务状态目录:
/run/systemd/→ systemd 的运行状态。 - 挂载点信息:
/run/media/username/→ 当前用户插入的 USB、CD 等设备的挂载点。
This post is licensed under CC BY 4.0 by the author.