防止 Linux 程序/守护程序在给定时间多次执行的最佳方法是什么?
最佳答案
最常见的方法是创建一个 PID 文件:定义文件的存放位置(在/var/run 里面很常见)。成功启动后,您会将 PID 写入此文件。在决定是否启动时,读取文件并检查以确保引用的进程不存在(或者如果存在,它不是您的守护进程的实例:在 Linux 上,您可以查看 /proc/$PID/exe
)。关机时,您可以删除该文件,但这不是绝对必要的。
有一些脚本可以帮助您执行此操作,您可能会发现 start-stop-daemon
很有用:它可以使用 PID 文件,甚至只是全局检查可执行文件的存在。它专为这项任务而设计,旨在帮助人们正确完成任务。
关于c++ - 如何防止 Linux 程序多次运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3706917/