unix下程序如何控制同时只能运行一个实例?

cctime 2004-06-07 03:53:53
as title
...全文
122 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
CoolQ 2004-06-08
  • 打赏
  • 举报
回复
启动的进程生成一个pid file,然后进程检查这个文件存不存在就可以了.如果存在,就退出.不过你得考虑异常退出的情况.
CoolQ 2004-06-08
  • 打赏
  • 举报
回复
apache就是用的pid file.
luckx 2004-06-08
  • 打赏
  • 举报
回复
调用一下ps看一下有没有进程存在
cctime 2004-06-08
  • 打赏
  • 举报
回复
pid file还是太复杂,(semget(ID, 1, IPC_CREAT | IPC_EXCL) == -1)好一点吧。
整天讲unix/linux,看来还不够啊
tianxiangyuan 2004-06-08
  • 打赏
  • 举报
回复
程序启动时在/var下穿件一个文件,退出时再将其删除;如果发现已经创建了该文件,则说明已经有一个实例在运行了,直接退出就行了。
encyption 2004-06-08
  • 打赏
  • 举报
回复
使用pid file,然后对这个文件加锁,这种是精灵进程使用的标准方法
cctime 2004-06-07
  • 打赏
  • 举报
回复
???
cctime 2004-06-07
  • 打赏
  • 举报
回复
没简便一点的吗?
继续在线等待。。。
benchan 2004-06-07
  • 打赏
  • 举报
回复
可以使用互斥,如对文件上锁

23,115

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧