Linux

在啟動時在 /var/run 下創建一個目錄

  • August 12, 2020

我有一個守護程序,它的 PID 文件需要它自己的目錄,/var/run並授予該守護程序的使用者寫入權限。

我發現我可以用這些命令創建這個目錄:

# mkdir /var/run/mydaemon

然後我可以將其所有權更改為我希望執行該程序的使用者/組:

# chown myuser:myuser /var/run/mydaemon

但是每當我重新啟動時,這個目錄就會消失!每次機器啟動時如何創建這個目錄?

有兩種方法可以讓 systemd 在/var/run/下創建目錄/run

通常最簡單的方法是**RuntimeDirectory**在服務的單元文件中聲明 a。例子:

RuntimeDirectory=foo

這將為/var/run/foo系統單元創建。(注意:不要提供完整路徑,只提供 下的路徑/var/run)對於完整文件,請參閱systemd.exec 文件中的相應條目

對於需要更複雜或不同配置或生命週期保證的執行時目錄,請使用**tmpfiles.d**並讓您的包刪除文件/usr/lib/tmpfiles.d/mydaemon.conf

#Type Path            Mode UID      GID    Age Argument
d     /run/mydaemon   0755 myuser myuser   -   -

在此處查看完整的 tmpfiles.d 文件

引用自:https://serverfault.com/questions/779634