gpt4 book ai didi

linux - 向本地 Linux FIFO 队列提交命令

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:10 25 4
gpt4 key购买 nike

例如,我在我的 Linux 服务器上有一个程序调用 ./foo install。但是,这个./foo 程序会消耗大量的内存和CPU 资源。

由于 ./foo 程序被其他服务器通过 ssh 连接执行的频率,我想控制 ./foo 的使用以防止我的服务器过载。

我正在寻找一个本地 FIFO 队列工具(监听器)来处理所有 ./foo 执行。

例如

运行作业./foo &运行作业./foo &运行作业./foo &

因此,虽然 ./foo 是并行执行的,但我希望队列工具(例如本例中的 runJob)以 FIFO 顺序处理作业执行。

Linux有这样的工具吗?

谢谢

最佳答案

如果 FIFO 不是严格要求,您可以使用 GNU parallel 轻松实现:

for i in {1..10}
do
parallel --gnu --semaphore --fg --id myjob -j 1 sleep 15 &
done

这一次最多启动 1 个作业(按用户名和作业 --id 计算)。

使用 ps 你会注意到一次只有一个 sleep 15 被执行,而其他 parallel 进程挂起并等待为了它。

关于linux - 向本地 Linux FIFO 队列提交命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34165931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com