metichi Asked: 2019-12-10 02:45:57 +0800 CST2019-12-10 02:45:57 +0800 CST 2019-12-10 02:45:57 +0800 CST 如果另一个实例已经在运行,如何防止 cronjob 执行? 772 我想在自动直播时录制一个流,所以我想设置一个每 15 分钟运行一次 youtube-dl 的 cronjob 到该 URL。 但是一旦开始录制,如何防止系统在 15 分钟后同时开始另一次录制? cron 1 个回答 Voted Best Answer NGRhodes 2019-12-10T05:54:03+08:002019-12-10T05:54:03+08:00 您可以为此使用羊群。flock 是一个管理锁的小命令行工具。它的工作原理是在命令的执行过程中包裹一个锁,并将锁的状态存储在一个锁文件中。 您可能希望基于如下命令创建一个 cron 作业: flock -n /tmp/ytdlcron.lock <your youtube dl command> 默认情况下,flock 创建一个独占锁(意味着只有一个引用特定锁文件的命令将运行),并且该-n标志会导致后续作业失败,直到完成(而不是默认等待,这可能会让您有很多作业备份等待跑)
您可以为此使用羊群。flock 是一个管理锁的小命令行工具。它的工作原理是在命令的执行过程中包裹一个锁,并将锁的状态存储在一个锁文件中。
您可能希望基于如下命令创建一个 cron 作业:
默认情况下,flock 创建一个独占锁(意味着只有一个引用特定锁文件的命令将运行),并且该
-n
标志会导致后续作业失败,直到完成(而不是默认等待,这可能会让您有很多作业备份等待跑)