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