如何在重启后处理过时的 pid 文件?我在想我不能相信文件中的数字,因为另一个进程可能已经用相同的 PID 取代了它。
我可以/应该确保 pid 文件不会在重启后继续存在吗?当具有该 pid 的进程正在运行时,检测过时的 pid 文件的正确方法是什么,它可能会或可能不会从以前的引导中遗留下来?
最佳答案
通常,pid 文件被写入 /var/run/
或 /run/
(在许多系统上,有一个从 /var/run
到 /run
的符号链接(symbolic link),因此它们是相同的)。查看Filesystem Hierarchy Standard更多。那/run/
目录应该在启动时提前清除(即因为它被挂载为 tmpfs
),所以它不会在重启后继续存在。另见 Linux Standard Base 4.1规范。
因此您不应该关心过时的 pid 文件。这不应该发生,如果发生了,可能是因为系统管理员把事情搞砸了。如果该 pid 文件已经存在,我将退出并显示某种错误消息。
关于linux - 重新启动后过时的 PID 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15569248/