linux下使用flock对crontab加锁

在Linux环境中,为防止crontab任务并发执行导致的问题,如资源浪费和进程冗余,可以利用flock进行加锁。通过flock创建排他锁,当一个任务正在执行时,其他相同任务将无法启动,有效避免并发执行和脏数据。本文介绍了如何使用flock以及如何通过pkill清理多余进程。
摘要由CSDN通过智能技术生成

使用flock对crontab加锁

在使用crontab配置脚本时,在执行时间较长会出现很多冗余进程,使用flock对其进行加锁,就不会再出现这种问题
如:
如果设定了任务每1分钟执行一次,但有可能执行该任务需要花费2分钟,这时系统会再执行任务。导致两个相同的任务在执行。这种情况下可能会出现一些并发问题,严重时会导致出现脏数据/性能瓶颈的恶性循环。
通过使用flock建立排它锁可以规避这个问题,如果一个进程对某个加了排他锁,则其它进程无法加锁,可以选择等待超时或马上返回。

在这里插入图片描述
在Linux中可查看flock参数解析

在初次配置时,不实用加锁,在运行脚本时,经常会出现多个进程,比如:

* * * * * python /home/vagrant/dev/projects/love-egg/cron_t.py >/data/logs/cron/cron_stout.log 2>&1

在这里插入图片描述
由于没有加锁,会导致资源浪费以及进程一直在执行,会导致脚本重复运行

使用flock加锁后不会重复运行:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值