代码之家  ›  专栏  ›  技术社区  ›  Falmarri

为以用户身份运行的守护进程存储PID文件

  •  12
  • Falmarri  · 技术社区  · 15 年前

    对于以用户身份运行的守护进程,是否有存储PID文件的首选位置?/var/run是标准位置,但这是为用户守护进程准备的,因此它在那里没有写权限。大概我的守护进程将从.profile或.bashrc之类的文件启动。把它保存到/tmp是个坏主意吗?

    3 回复  |  直到 11 年前
        1
  •  9
  •   paxdiablo    15 年前

    如果它是为一个用户运行的,让我们看看,存在哪种特定于用户的存储。

    六羟甲基三聚氰胺六甲醚。

    就是这样!主目录。我知道它最终会降临到我的身上。


    不好意思轻击了一下。说真的,我会把PID藏起来 $HOME/.daemon.pid ~/.daemon.pid (当然,如何命名文件取决于您自己)。

    当然,这是假设一个用户只有一个守护进程在运行。如果没有,你就需要更狡猾一点。


    希望能消除你对用户会无意中删除主目录中未知文件的恐惧,这就是为什么你用一个 . 性格。

    大多数没有经验的用户都不应该 看见 这些有经验的用户应该知道,而不是与他们胡闹。

        2
  •  8
  •   WhyNotHugo    13 年前

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

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

        3
  •  0
  •   dogbane    15 年前

    我建议您转到用户主目录中的子目录。

    ~/.programname/.pid
    

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

    推荐文章