flock防止crontab重复执行脚本
2017-08-21 16:54
302 查看
经常会有crontab进程会执行完,又起个进程,造成错误。
使用linux flock 文件锁实现任务锁定,解决这个问题
文件锁使用独占锁,非阻塞模式 如果锁定则失败不等待。参数为-xn
阻塞模式
使用linux flock 文件锁实现任务锁定,解决这个问题
flock flock (util-linux-ng 2.17.2) Usage: flock [-sxun][-w #] fd# flock [-sxon][-w #] file [-c] command... flock [-sxon][-w #] directory [-c] command... -s, --shared: 获得一个共享锁 -x, --exclusive: 获得一个独占锁 -u, --unlock: 移除一个锁,通常是不需要的,脚本执行完会自动丢弃锁 -n, --nonblock: 如果没有立即获得锁,直接失败而不是等待 -w, --timeout: 如果没有立即获得锁,等待指定时间 -o, --close: 在运行命令前关闭文件的描述符号。用于如果命令产生子进程时会不受锁的管控 -c, --command: 在shell中运行一个单独的命令 -h, --help 显示帮助 -V, --version: 显示版本
文件锁使用独占锁,非阻塞模式 如果锁定则失败不等待。参数为-xn
* * * * * flock -xn /tmp/run.lock -c 'php /home/run.php >> /home/run.log'
阻塞模式
* * * * * flock -x /tmp/run.lock -c 'php /home/run.php >> /home/run.log'
相关文章推荐
- flock防止crontab脚本周期内未执行完重复执行
- crontab防止脚本周期内未执行完重复执行
- 防止shell脚本重复执行的代码
- 脚本防止重复执行
- linux使用flock文件锁解决脚本重复执行问题
- Linux中如何防止一个Shell脚本被重复执行?
- Linux下shell脚本在crontab中一个周期执行不完,下周期任务被重复执行的问题解决
- 防止shell脚本重复执行的代码
- 防止shell脚本重复执行
- 使用crontab命令定时执行脚本
- php进程管理--手动创建进程锁,防止重复执行某程序代码
- Linux定时任务crontab执行脚本无输出
- [Shell]crontab 执行任务调用shell脚本,相对路径无法找到
- 在Crontab中执行PHP脚本
- crontab 定时执行php脚本文件
- crontab中执行脚本中文乱码,手动执行没有问题的解决办法
- Linux下定时执行脚本/crontab
- 防止程序重复执行 Controling the number of application instances
- 手动运行脚本执行正常而放入crontab调用hadoop命令没有执行成功
- crontab命令 :Linux下定时执行脚本