We stand alone,
together.
- BAND of BROTHERS
保证shell脚本执行唯一性
很多用cron定时执行的shell脚本可能会由于各种原因执行很久,会有必要在运行的时候先检查一下自身是否还在运行。本文提供的linux shell脚本用以检查以命令sh ...来执行的shell脚本。要对其他东西进行唯一性检查,可以稍微修改一下源代码。
# 检查通过sh命令执行的shell脚本是不是还在执行当中,避免重复执行.
# 把这段代码放在需要保证唯一性的程序头部即可
# 注意,如果直接把此脚本放到cron里面执行的话,必须再grep -v " -c sh "以排除由cron产生的进程!
checkitem="$0"
let procCnt=`ps -A --format='%p%P%C%x%a' --width 2048 -w --sort pid|grep "$checkitem"|grep -v grep|grep -v " -c sh "|grep -v "$$" | grep -c sh|awk '{printf("%d",$1)}'`
if [ ${procCnt} -gt 0 ] ; then
echo "$0脚本已经在运行[procs=${procCnt}],此次执行自动取消."
exit 1;
fi
This Entry was Last Modified on 2007-05-25 17:00
没有评论.
日志存档
继续阅读
ac米兰 ajax apache api blog blogchina cctv css dhtml download dreamhost dvd encoding error feeds firefox flash framework gmail google google_analytics google_talk http ide ie ie7 javascript jquery linux maxthon mod_rewrite movies msn mvc mysql oracle php pippo pivot rss shell socket sohu spammers svn vs web web2 webclient weblogic windows xml zend 阿根廷 安全漏洞 奥运 备份 变形金刚 程序员 地铁 浮动层 搞笑 工具 冠军杯 管理 火箭 进程 客户端 篮球 厉 旅行 命令行 欧洲杯 人生 设计模式 世界杯 数据库 搜索引擎 算法 图片 无极 系统优化 笑话 姚明 游戏 源代码 周杰伦 字符编码 足球 浏览器

