linux 计划任务超时控制和并发控制

Linux crontab 的配置存放 /var/spool/cron 目录下。

Linux crontab的日志文件存放再 /var/log/cron*

timeout 命令

timeout 给脚本加入超时时间控制

  • -s 发送信号

  • timeout 正常结束的返回码是0

  • timeout 超时kill结束的返回码是124

 timeout -s 9 100 sleep 1000

flock命令

flock可以保证只有一个脚本单例执行。主要用的是互斥非阻塞模式

用于保证我们的脚本同时只能执行一次,

  • -s 获取一个共享锁

  • -e 获取一个排它锁

  • -u 手动释放锁

  • -n 非阻塞模式 获取锁失败返回1 不是等待

  • -w 设置阻塞超时

  • -c 在shell中执行其后的语句

 flock -xn /tmp/lock -c "/bin/sh /root/test.sh"

 

原文地址:https://www.cnblogs.com/tl542475736/p/11811607.html