Fli*_*mzy 8 linux security daemon locking pid
我的问题与此问题有关,但有问题的过程是从cron和非root用户运行的.因此,许多用户实际上没有家庭目录(或者他们的家庭目标指向/usr/share/package_name哪个不是PID文件的理想位置).
存储/var/run是有问题的,因为除了root之外,该目录不可写.
我可以使用/tmp,但我想知道这是否是出于安全考虑的理想选择.
我可以安排一个启动脚本来创建一个目录,/var/run其中由相应的用户拥有(我不能在包安装时执行此操作,因为/var通常作为tmpfs挂载,因此不是持久的).
这里的最佳做法是什么?
好问题:),我现在也有同样的问题。我不确定这是否是正确的答案,但我希望它有所帮助,并且我也希望得到反馈。
我用 google 搜索了一下,发现将每个用户守护进程注册为 dbus 服务是一个优雅的解决方案。dbus 可以确保服务只运行一次。不需要 pid 文件。
另一个解决方案(我当前的)是在如下目录中创建 PID 文件:
$HOME/.yourdaemon/pid
Run Code Online (Sandbox Code Playgroud)
在你发表评论后我意识到你不能写信回家。我建议研究一下 dbus
更新
我有个主意。如果您使用 /tmp,但正在寻找名为 yourdaemon.pid.UNIQUE_KEY 并由守护程序用户拥有的 pid 文件,该怎么办?这应该可以正常工作。
UNIQUE_KEY应该是随机生成的(首选使用 tempnam,因为它是竞争条件证明)。
| 归档时间: |
|
| 查看次数: |
7998 次 |
| 最近记录: |