是否有首选位置来存储作为用户运行的守护进程的 pid 文件?/var/run 是标准位置,但这是针对用户守护进程的,因此它在那里没有写权限。大概我的守护进程将从 .profile 或 .bashrc 或其他东西启动。只是将它保存到 /tmp 是个坏主意吗?
问问题
8955 次
3 回答
9
如果它是为用户运行的,让我们看看存在什么样的存储是用户特定的。
嗯。
就是这样!主目录。我知道它最终会来找我:-)
对不起轻戳。说真的,我只是将 PID 存储到$HOME/.daemon.pid
or~/.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 回答