免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3555 | 回复: 11
打印 上一主题 下一主题

请问:Linux下如何保证只有一个程序实例运行(急) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-16 14:39 |只看该作者 |倒序浏览
各位好:
      在linux下,发现我的程序有时被运行两个实例,如何能避免这种情况发生啊
      谢了

论坛徽章:
0
2 [报告]
发表于 2006-03-16 15:05 |只看该作者
使用文件加锁功能

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2006-03-16 23:43 |只看该作者
《unix网络编程:卷二》第9.7节有一个程序代码满足你的要求。

论坛徽章:
0
4 [报告]
发表于 2006-03-18 14:56 |只看该作者
你可以使用类似mysql和apahe的方式,成生一个sock文件,然后每次启动程序时对其判断就行了

论坛徽章:
0
5 [报告]
发表于 2006-03-20 13:25 |只看该作者

谢了

感谢大家了

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2006-03-20 14:23 |只看该作者
原帖由 守夜人 于 2006-3-18 14:56 发表
你可以使用类似mysql和apahe的方式,成生一个sock文件,然后每次启动程序时对其判断就行了

大哥,你知道那个 .sock 是干啥使的就敢这么说?

论坛徽章:
0
7 [报告]
发表于 2006-03-23 12:46 |只看该作者
就是生成一个锁文件如 myproc.pid 然后加上write锁,如果加锁不成功就说明已经有一个实例运行了。可以用flock函数试试,注意fopen返回的FILE* 不能fclose,否则加上锁就会自动关闭.

论坛徽章:
0
8 [报告]
发表于 2006-03-23 13:21 |只看该作者
原帖由 flw 于 2006-3-20 14:23 发表

大哥,你知道那个 .sock 是干啥使的就敢这么说?

那个.sock是干嘛的, FIFO吗? 偶不知道

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2006-03-23 15:12 |只看该作者
原帖由 albcamus 于 2006-3-23 13:21 发表

那个.sock是干嘛的, FIFO吗? 偶不知道

Unix domain socket

论坛徽章:
0
10 [报告]
发表于 2006-03-24 09:34 |只看该作者
可以用建立一个socket, bind某个端口
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP