以用户身份存储守护程序的pid文件

Fal*_*rri 12 linux daemon pid

是否存在为以用户身份运行的守护程序存储pid文件的首选位置?/ var/run是标准位置,但这适用于用户守护程序,因此它没有写入权限.据推测,我的守护进程将从.profile或.bashrc或其他东西开始.只是把它保存到/ tmp一个坏主意?

pax*_*blo 9

如果它是为用户运行的,那么让我们看看,存在哪种类型的用户特定存储.

嗯.

而已!主目录.我知道最终会来找我:-)


抱歉光刺.说真的,我只是将PID存入$HOME/.daemon.pid~/.daemon.pid(当然,你如何命名文件取决于你).

当然,这是假设您只为用户运行一个守护程序.如果没有,你需要有点棘手.


并且希望减轻您对用户无意中删除其主目录中的未知文件的担忧,这就是为什么您通过使用.字符启动它来"隐藏"它的原因.

大多数没有经验的用户甚至不应该看到这些用户,而且有经验的用户应该知道这些用户应该知道更多.

  • 这就是你在它前面放一个`.`的原因.不知道他们正在做什么的用户可能永远不会知道它存在.如果他们经常看到隐藏的文件,只有一个错误删除`.bashrc`将告诉他们他们的方式错误:-)如果你是_really_偏执狂,将PID放入`〜/ .dont_EVER_delete_me_or_you_WILL_be_sorry/.daemon.pid` . (4认同)
  • 这有一个主要缺点:与/ var/run不同,用户主目录在重新启动后不会被清除. (2认同)

Why*_*ugo 8

XDG基本目录规范定义,你应该储存这些.
该变量$XDG_RUNTIME_DIR定义了它的位置,尽管它没有默认值.
最常见的回退(如果未设置变量)是/tmp/service-$USER.id.

这有助于保持整洁的homedirs,同时保留所有运行时数据