<分区>
我有一个二进制文件,它是一个守护进程,是用 C 语言开发的。我想在我的程序开头添加一个检查,以保证二进制文件只启动一次。我的二进制文件在 Linux 上运行。
有什么建议吗?
<分区>
我有一个二进制文件,它是一个守护进程,是用 C 语言开发的。我想在我的程序开头添加一个检查,以保证二进制文件只启动一次。我的二进制文件在 Linux 上运行。
有什么建议吗?
最佳答案
A common method就是放一个PID file在 /var/run
中。在你的守护进程成功启动后,你 flock
将其 PID 写入此文件。启动时,您检查此文件中的 PID 值(如果存在)。如果当前没有运行 PID,应用程序启动是安全的。如果 PID 存在,请执行检查以查看该 PID 是否是您的可执行文件的实例。如果不是,启动也是安全的。您应该在退出时删除该文件,但这并不是绝对必要的。
关于c - 如何避免在 Linux 中多次启动二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16922688/