Post

Linux目录

Linux目录

Linux 系统中的 /run 目录是一个临时文件系统(tmpfs),用于在系统启动早期阶段保存运行时数据(runtime data)。它在系统引导时由内核挂载,通常挂载为 tmpfs 类型,这意味着它是驻留在内存中的、非持久化的。


/run 的主要作用

  1. 存储运行时进程数据

    • 比如:服务的 PID 文件(如 /run/nginx.pid)、锁文件、套接字(socket)等。
    • 替代了旧的 /var/run,并且是系统启动时最早可用的目录之一。
  2. 供系统服务和守护进程使用

    • 比如 systemdudev 等服务会在其中创建自己的子目录,如:

      1
      2
      3
      4
      5
      6
      
      arduino
              
              
      复制编辑
      /run/systemd/
      /run/udev/
      
  3. 跨服务通信和同步

    • 某些服务在启动时会通过 /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.