Linux
在啟動時在 /var/run 下創建一個目錄
我有一個守護程序,它的 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 文件。