如何排队进程?

Tom*_*mas 4 scripting scheduling batch-jobs

我有一个监控摄像头,一个程序在检测到运动时记录视频。基本上,该程序以非常重的格式保存视频。

我的解决方案是调用一个使用 ffmpeg 转换视频的脚本。每次制作视频时都会调用该脚本。

转换所需的时间相对较短,但会占用大量 CPU。当一个新视频到达要转换而另一个视频的转换尚未完成时,问题就来了。在这种情况下,再次调用脚本,导致两个或多个 ffmpeg 进程使机器在相当长的一段时间内几乎挂起。

如何将转换作业排队,以便在前一个完成后执行?我想要的是一次只有一个 ffmpeg 进程。

roz*_*acz 6

您可以使用batch属于at包的程序(用于作业排队的工具)。它默认安装在许多系统上。