为什么Linux上的进程管理文件存储在/var/run下?

为什么Linux上的进程管理文件存储在/var/run下?

为什么 Linux 上的进程管理文件存储在 下/var/run

例如:

$ ls -ltr /var/run/ | grep pid
-rw-r--r--  1 root           root              4 Mar 26 14:12 lvmetad.pid
-rw-r--r--  1 root           root              5 Mar 26 14:12 auditd.pid
-rw-------  1 root           root             11 Mar 26 14:12 alsactl.pid
-rw-------  1 root           root              5 Mar 26 14:12 gssproxy.pid
-rw-r--r--  1 root           root              5 Mar 26 14:12 ksmtune.pid
-rw-r--r--  1 root           root              5 Mar 26 14:12 vmtoolsd.pid
-rw-------  1 root           root              5 Mar 26 14:13 sm-notify.pid
-rw-r--r--  1 root           root              5 Mar 26 14:13 sshd.pid
-rw-r--r--  1 root           root              5 Mar 26 14:13 rhnsd.pid
-rw-r--r--  1 root           root              5 Mar 26 14:13 atd.pid
-rw-r--r--  1 root           root              6 Mar 29 09:42 crond.pid
-rw-------  1 root           root              6 Mar 30 18:38 syslogd.pid
-rw-r--r--  1 root           root              7 Mar 30 19:39 chronyd.pid
-rw-------  1 root           root              6 Mar 30 21:52 sssd.pid
-rw-------  1 root           root              5 Mar 30 21:52 oddjobd.pid

注意,众所周知,/var/runtmpfs是一个文件系统。

答案1

因为/var/run是 FHS 标准的祝福目录,对于软件来说运行数据。

/var/run目录已“弃用”,现在它是一个符号链接/run在许多系统上。

该目录包含描述系统自启动以来的系统信息数据。在启动过程开始时,必须清除(根据需要删除或截断)此目录下的文件。

由于那里的数据必须被清除并且通常很小(PID 文件很小,并且其他通常存储的运行时数据是 UNIX 套接字),因此将其放在tmpfs.重新启动将清除它。

答案2

文件系统层次结构标准用于/run指定:

进程标识符 (PID) 文件原本放置在 /etc 中,现在必须放置在 /run 中。 PID 文件的命名约定是 .pid。例如,crond PID 文件名为/run/crond.pid。

相关内容