Linux

為什麼 Linux 上的程序管理文件儲存在 /var/run 下?

  • May 22, 2020

為什麼 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/run是一個tmpfs文件系統。

因為這/var/run是FHS標準的祝福目錄,用於存放軟體的執行時數據。

/var/run目錄已“棄用”,現在它是/run許多系統上的符號連結。

該目錄包含描述系統自啟動以來的系統資訊數據。此目錄下的文件必須在啟動過程開始時清除(根據需要刪除或截斷)。

由於必須清除那裡的數據並且通常很小(PID 文件很小,並且其他通常儲存的執行時數據有 UNIX 套接字),因此將其放在tmpfs. 重新啟動將負責清除它。

引用自:https://unix.stackexchange.com/questions/588294