c - 如何避免在 Linux 中多次启动二进制文件?

标签 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/

相关文章:

c - 新手遇到错误: expected ')' before ',' token

linux - 字符串中带有空格的环境变量 - 如何从/proc/pid/environ 中使用它们

c - c中int**函数的返回

c - 遍历客户端程序接收到的缓冲区

linux - 变量在 sed 内的 shell 脚本中不起作用

c - 检查具有特定 pid 的进程存在和事件的方法有哪些?

linux - LXC - Cgroup 内存 Controller : missing

linux - 多线程 Linux 与 Windows

c - 将字符串读入 char * 时出现段错误

c - fork() 在循环中从哪里执行?