linux shell 确保脚本只有一个运行实例

来源:互联网 发布:手机数据报告 艾瑞 编辑:程序博客网 时间:2024/06/05 10:56

在linux 里面可能存在有脚本在一个终端还没有执行完成的时候,另外一个终端又开始执行此脚本。或者某些放在crontab 中的例行任务在本次没有执行完成时就开始了下一次执行。 这些都造成了一个任务在linux 里面存在多个运行实例。
同时存在多个运行实例对数据进行修改时候会造成很多令人困惑的问题。我们可以在脚本执行开始前创建一个临时文件,如果此文件存在,就表示系统中存在一个运行实例,每个实例在退出之前把临时文件删除,以后新的实例就可以运行。可以参照以下脚本

# 检查锁文件是否存在,如果存在表示系统中有其他实例在运行,则直接退出。# 需要注意的是,锁文件需要避免重名,可以参照c++ 头文件保护宏的命名方式[ -f /tmp/lock.file ] && exit# 开始执行任务前,创建锁文件,并把当前pid 写入锁文件echo $$ > /tmp/lock.filesleep 1# 判断锁文件中的pid 和当前pid 是否相同 ,如果不同则退出[ "x$(cat /tmp/lock.file)" == "x"$$ ] || exit# 执行任务,这里添加你的脚本逻辑sleep 60# 删除锁文件rm -f /tmp/lock.file
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 巩义2018年要拆的村 巩拼音 巩的拼音 巩新亮图片 巩新亮歌曲下载 朗朗妻子巩新亮 巩新亮毛多不 朗朗女朋友巩新亮 巩新亮采访 巩新亮朗朗亲密私照 巩晓彬 巩晓彬骂丁彦雨航 巩晓彬老婆 逍遥王巩晓彬 巩晓彬 打架 巩晓彬 刘玉栋 巩晓彬与刘玉栋 纪敏尚与巩晓彬关系 我救了他续集晨嫁给巩 巩汉林 巩汉林个人资料 巩汉林小品 巩汉林全家福曝光 巩汉林夫人 十三香 巩汉林 巩汉林新剧 巩汉林歌曲 巩汉林的妻子 巩汉林妈妈 巩汉林儿子照片 巩汉林儿子个人资料 巩汉林唱十三香唱词 新疆巩留县 巩留酒店 巩立姣 巩立姣登领奖台 巩立姣夺冠 巩字组词 巩读音 巩金瓯 巫漪丽个人资料