菜鸟国际电子游戏首页 > 文章中心 > 正文

crontab 防止脚本周期内未执行完重复执行-电子游戏app下载



flock [-sxon][-w #] file [-c] command...
-s --shared get a shared lock
#共享锁,在定向为某文件的fd上设置共享锁而未释放锁的时间内,其他进程试图在定向为此文件的fd上设置独占锁的请求失败,而其他进程试图在定向为此文件的fd上设置共享锁的请求会成功
-x --exclusive get an exclusive lock
#独占或排他锁,在定向为某文件的fd上设置独占锁而未释放锁的时间内,其他进程试图在定向为此文件的fd上设置共享锁或独占锁都会失败。只要未设置-s参数,此参数默认被设置
-u --unlock remove a lock
#手动解锁,一般情况不必须,当fd关闭时,系统会自动解锁,此参数用于脚本命令一部分需要异步执行,一部分可以同步执行的情况
-n --nonblock fail rather than wait
#为非阻塞模式,当试图设置锁失败,采用非阻塞模式,直接返回1,
-w --timeout wait for a limited amount of time
#设置阻塞超时,当超过设置的秒数,就跳出阻塞,返回1
-o --close close file descriptor before running command
-c --command run a single command string through the shell 执行其后的comand
-h --help display this text
-v --version display version

ex:
*/30 * * * * flock -xn /tmp/test.lock -c '/usr/local/php test.php'
每30分钟执行一次脚本,当前任务未完成时,下一次任务会判断test.lock文件被锁定,无法执行命令



转载请注明出处:

0

相关文章