我在哪里可以找到一个备受推崇的参考资料,详细说明在 Unix 上正确处理 PID 文件?
在 Unix 操作系统上,通常的做法是使用特殊的锁定文件“锁定”程序(通常是守护进程):PID 文件。
这是一个位于可预测位置的文件,通常是“/var/run/foo.pid”。程序应该在启动时检查 PID 文件是否存在,如果文件存在,则退出并出错。所以它是一种咨询、协作的锁定机制。
该文件包含单行文本,即当前持有锁的进程的数字进程 ID(因此称为“PID 文件”);这允许一种简单的方法来自动向持有锁的进程发送信号。
我找不到关于处理 PID 文件的预期或“最佳实践”行为的良好参考。有各种细微差别:如何实际锁定文件(不要打扰?使用内核?平台不兼容怎么办?),处理陈旧的锁(静默删除它们?何时检查?),何时获取和释放锁,等等。
对于这个小话题,我在哪里可以找到受人尊敬、最权威的参考资料(最好是 W. Richard Stevens 的水平)?