Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119944
  • 博文数量: 24
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-11-22 14:58
个人简介

坚持,做最好的自己

文章分类

全部博文(24)

文章存档

2015年(2)

2014年(9)

2013年(13)

我的朋友

分类: LINUX

2014-03-02 11:11:52

切入主题

如果使用flag文件进行判断,那么在程序异常结束的时候,则可能发生flag文件标识状态错误的问题。
如果使用进程来判断,而实际grep的时候无法找到shell名称。
我的解决方法是,将进程号和调用时间同时写入flag文件。这样,即使程序异常结束,再启动程序时,判断flag文件中的进程号和时间调用的程序是否还在运行。
代码简单,如下
  1. if [ -f ./tmp/$0.flag ]
  2. then
  3.     thisthread=`cat tmp/$0.flag`
  4.     if [ `ps -ef | grep -v grep | sed "s/ */ /g" | cut -d" " -f3 | grep $thisthread | wc -l` -eq 1 ]
  5.     then
  6.         exit
  7.     fi
  8. fi
  9. echo "`date +%Y%m%d%H%M` $$" > tmp/$0.flag
  10. echo code----
需编辑,【进程时间】未完
阅读(1587) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~