是否有一个首选位置来存储以用户身份运行的守护程序的pid文件? / var / run是标准位置,但这是针对用户守护程序的,因此它没有写入权限。据推测,我的守护进程将从.profile或.bashrc或其他东西开始。只是把它保存到/ tmp一个坏主意?
是否有一个首选位置来存储以用户身份运行的守护程序的pid文件? / var / run是标准位置,但这是针对用户守护程序的,因此它没有写入权限。据推测,我的守护进程将从.profile或.bashrc或其他东西开始。只是把它保存到/ tmp一个坏主意?
如果它是为用户运行的,那么让我们看看,存在哪种类型的用户特定存储。
嗯。
而已!主目录。我知道最终会来找我:-)
抱歉光刺。说真的,我会把PID藏进去 $HOME/.daemon.pid
要么 ~/.daemon.pid
(当然,你如何命名文件)。
当然,这是假设您只为用户运行一个守护程序。如果没有,你需要有点棘手。
并希望减轻您对用户无意中删除其主目录中的未知文件的担忧,这就是为什么您通过启动它来使其“隐藏”的原因 .
字符。
大多数没有经验的用户都不应该 看到 这些和有经验的用户应该知道比用它们捣乱更好。
该 XDG Basedir规范 定义应存储这些内容的位置。
变量 $XDG_RUNTIME_DIR
定义它的位置,虽然它没有默认值。
最常见的后备(如果未设置变量)是 /tmp/service-$USER.id
。
这有助于保持整洁的homedirs,同时保留所有运行时数据
我建议你去用户主目录中的子目录。
~/.programname/.pid
如果有任何其他用户配置数据,您也可以将其存储在此处,以避免使主目录混乱。