锁定 – 在Unix上正确处理PID文件的参考

在哪里可以找到一个很受尊重的参考,详细说明在Unix上正确处理PID文件?

在Unix操作系统上,通常使用特殊的锁定文件(PID文件)“锁定”程序(通常是守护程序)。

这是一个位于可预测位置的文件,通常为’/var/run/foo.pid’。程序应该检查PID启动时PID文件是否存在,如果文件存在,则退出并返回错误。所以它是一种咨询,协作锁定机制。

该文件包含单行文本,是当前持有锁的过程的数字进程ID(因此称为“PID文件”);这允许自动向保持锁的进程发送信号的简单方法。

我找不到是处理PID文件的预期或“最佳实践”行为的一个很好的参考。有各种细微差别:如何实际锁定文件(不要打扰?使用内核?平台不兼容什么?),处理陈旧的锁(静默删除它们?当检查?),当准确地获取和释放锁,等等。

在哪里可以找到一个受人尊敬的,最权威的参考(理想的是在理查德·史蒂文斯一级)这个小主题?

据我所知,PID文件是一个约定,而不是你可以找到一个尊重,最主要的权威来源。我能找到的最接近的是文件系统层次标准的 this section

This Perl library可能是有帮助的,因为它看起来像作者至少已经考虑了一些问题,而不是可能出现。

我认为/ var / run下的文件通常由发行版维护者处理,而不是由守护进程的作者处理,因为发行版维护者有责任确保所有的init脚本在一起。我检查了Debian和Fedora的开发者文档,但找不到任何详细的指南,但您可能能够获得有关开发人员邮件列表的更多信息。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...