Linux/Bash,如何在 FIFO 队列中调度命令?

And*_*rei 7 bash scheduling queue scheduled-tasks

我希望能够安排在 FIFO 队列中运行的命令。我不希望它们像“at”命令那样在将来的指定时间运行。我希望它们现在就开始运行,但不是同时运行。只有在第一个命令完成执行后,才应运行队列中的下一个计划命令。或者,如果我可以指定队列中可以同时运行的最大命令数,那就太好了;例如,如果同时命令的最大数量为 2,那么队列中最多只有 2 个调度命令会以 FIFO 的方式从队列中取出来执行,剩余队列中的下一个命令仅在以下命令中的一个时开始当前 2 个正在运行的命令完成。

我听说 task-spooler 可以做这样的事情,但是这个包似乎没有得到很好的支持/测试,并且不在 Ubuntu 标准存储库中(我正在使用 Ubuntu)。如果这是最好的选择,那么请告诉我,我将使用 task-spooler,否则,我有兴趣找出使用 bash 执行此类操作的最佳、最简单、经过最多测试、无错误、规范的方法是什么。

更新:

简单的解决方案,如;或 bash 中的 && 不起作用。当事件发生时,我需要从外部程序安排这些命令。我只是不想让我的命令的数百个实例同时运行,因此需要一个队列。有一个外部程序可以触发事件,我可以在其中运行我自己的命令。我想处理所有触发的事件,我不想错过任何事件,但我也不希望我的系统崩溃,所以这就是为什么我想要一个队列来处理我从外部程序触发的命令。

And*_*rei 16

任务后台处理程序:

http://vicerveza.homeunix.net/~viric/soft/ts/

https://launchpad.net/ubuntu/+source/task-spooler/0.7.3-1

把戏做得很好。希望它将包含在 Ubuntu 的软件包存储库中。