免费注册 查看新帖 |

Chinaunix

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

一个有关shell脚本的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-17 18:32 |只看该作者 |倒序浏览
我想写一个shell脚本,在它运行这前会先去检测有没有和它重名的脚本进程在这台机器上运行,如果有就退出,没有就继续运行?
问这么一个目标怎么实现?
请具体写一个小脚本,呵呵。

论坛徽章:
0
2 [报告]
发表于 2004-06-18 20:28 |只看该作者

一个有关shell脚本的问题

不知道有什么用呢?
ps一下不可以么?

论坛徽章:
0
3 [报告]
发表于 2004-06-18 22:30 |只看该作者

一个有关shell脚本的问题

原帖由 "零二年的夏天" 发表:
不知道有什么用呢?
ps一下不可以么?


就这个意思

跑程序的时候把自己的 pid 存到一个文件里,开始跑的时候打开这个文件,找到 pid ,看它是否存在,如果不存在,把这文件删除,开始执行,如果存在,已经在跑了。

程序结束前,把存下的 pid 文件删除。

--
Firefox 中文网页繁简体转换程序。
繁体网页简体看

论坛徽章:
0
4 [报告]
发表于 2004-06-20 10:00 |只看该作者

一个有关shell脚本的问题

这种方式,也就是用文件锁可以实现,但是对于非正常关闭好像处理不是很好,其实你可以先用程序得到自己的pid ,然后检测有没有其他的pid存在,若有那就是由其他的进程了,也就是已经在运行了,没有即提交一个自己.

论坛徽章:
0
5 [报告]
发表于 2004-07-09 16:18 |只看该作者

一个有关shell脚本的问题

我根据楼上的想法在脚本里加了一条,OK 了。
加的是:

ps -efl | grep -v "$$" | grep "$0" >; /dev/null && exit 100

$$是这个脚本运行时的进程号, $0是这个脚本名。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP