通常,存储pid或类似的目录由服务的启动脚本创建. (见
this question)
但是,我刚刚注意到,当我禁用服务时,重启后仍会重新创建这些目录.我尝试过的所有服务都发生了这种情况.
root@sonorus:~# systemctl status openvpn ● openvpn.service - OpenVPN service Loaded: loaded (/lib/systemd/system/openvpn.service; disabled) Active: inactive (dead) root@sonorus:~# systemctl status ejabberd ● ejabberd.service - A distributed,fault-tolerant Jabber/XMPP server Loaded: loaded (/lib/systemd/system/ejabberd.service; disabled) Active: inactive (dead) Docs: https://www.process-one.net/en/ejabberd/docs/
哪个服务实际上是在创建这些目录?
解决方法
@H_301_11@ 使用systemd,有一个名为tmpfiles.d(5)的新功能,可用于在.service文件之外的引导时创建文件或目录. Openvpn和ejabberd都使用它,这就是为什么即使它们没有在启动时启动,仍然会创建/ var / run中的目录.tmpfiles配置文件存储在/usr/lib/tmpfiles.d/中