假设我每分钟都有cron任务在运行。如果每次,该任务需要超过一分钟的时间运行,将会发生什么。下一个cron会等待第一个cron,还是会在没有任何检查的情况下运行。
我想每分钟运行一次cron任务,并且在长时间运行任务/情况的情况下,我不会过度研究cron任务。
请帮忙。
答案 0 :(得分:0)
这取决于你的跑步方式。如果它是您自己的脚本,您可以实现锁定/锁定检查机制以避免运行重复。
但那不是cron
的工作。
答案 1 :(得分:0)
是的,cron将继续每分钟开始你的1分钟运行过程,直到崩溃。
如果你能在启动时基本上这样做,你会想要把某种锁定放在你的工作中:
if not get_lock()
print "Another process is running"
exit
当然,这假设您拥有正在运行的代码。如果您正在运行一个没有编码的命令,那么我建议构建一个实现上述伪编码逻辑的shell包装器,其中get_lock()将查看是否正在运行此类其他进程。
答案 2 :(得分:0)
正如其他人所提到的,无论您的脚本的其他实例是否仍在运行,CRON都会每分钟运行一次脚本。
如果你想避免这种情况并且不想实现自己的锁定机制,那么你可以尝试使用一个名为The Fat Controller的CRON替代方案,它是一个不断重新运行脚本的守护进程。您可以选择指定运行之间的间隔,也可以选择指定最长执行时间,因此如果脚本变为AWOL,则可以将其终止。
网站上有一些用例和更多信息: