在哪里可以找到一个很受尊重的参考,详细说明在Unix上正确处理PID文件?
@H_502_14@
据我所知,PID文件是一个约定,而不是你可以找到一个尊重,最主要的权威来源。我能找到的最接近的是文件系统层次标准的
this section。
在Unix操作系统上,通常使用特殊的锁定文件(PID文件)“锁定”程序(通常是守护程序)。
这是一个位于可预测位置的文件,通常为’/var/run/foo.pid’。程序应该检查PID启动时PID文件是否存在,如果文件存在,则退出并返回错误。所以它是一种咨询,协作锁定机制。
该文件包含单行文本,是当前持有锁的过程的数字进程ID(因此称为“PID文件”);这允许自动向保持锁的进程发送信号的简单方法。
我找不到是处理PID文件的预期或“最佳实践”行为的一个很好的参考。有各种细微差别:如何实际锁定文件(不要打扰?使用内核?平台不兼容什么?),处理陈旧的锁(静默删除它们?当检查?),当准确地获取和释放锁,等等。
在哪里可以找到一个受人尊敬的,最权威的参考(理想的是在理查德·史蒂文斯一级)这个小主题?
This Perl library可能是有帮助的,因为它看起来像作者至少已经考虑了一些问题,而不是可能出现。
我认为/ var / run下的文件通常由发行版维护者处理,而不是由守护进程的作者处理,因为发行版维护者有责任确保所有的init脚本在一起。我检查了Debian和Fedora的开发者文档,但找不到任何详细的指南,但您可能能够获得有关开发人员邮件列表的更多信息。