13

是否有首选位置来存储作为用户运行的守护进程的 pid 文件?/var/run 是标准位置,但这是针对用户守护进程的,因此它在那里没有写权限。大概我的守护进程将从 .profile 或 .bashrc 或其他东西启动。只是将它保存到 /tmp 是个坏主意吗?

4

3 回答 3

9

如果它是为用户运行的,让我们看看存在什么样的存储是用户特定的。

嗯。

就是这样!主目录。我知道它最终会来找我:-)


对不起轻戳。说真的,我只是将 PID 存储到$HOME/.daemon.pidor~/.daemon.pid中(当然,如何命名文件取决于您)。

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


并希望减轻您对用户会无意中删除其主目录中未知文件的担忧,这就是为什么您通过以.字符开头将其“隐藏”的原因。

大多数没有经验的用户甚至都不应该看到这些,而有经验的用户应该知道最好不要与他们胡闹。

于 2010-10-18T07:38:34.597 回答
9

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

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

于 2013-05-26T09:44:01.837 回答
0

我建议您在用户的主目录中找到一个子目录。

~/.programname/.pid

如果有任何其他用户配置数据,您也可以将其存储在这里,以避免弄乱主目录。

于 2010-10-18T08:02:02.550 回答