【发布时间】:2017-04-12 19:13:28
【问题描述】:
我想编写模拟运行几个并发进程的 bash 脚本。MAX_CONCURRENT_TASKS 表示一次可以运行多少个任务,而每个任务随机“工作”2-6 秒。
如果当前进程计数等于MAX_CONCURRENT_TASKS 和sleep 2~6 秒,是否有比简单的while..do 循环和使用wait 更“创造性”的方法来做到这一点?
任何人都知道如何为此使用信号?也许还有别的?
@EDIT:我想编写一个脚本来完成这项工作,我知道可以做到这一点的工具。
【问题讨论】:
-
欢迎来到 Stack Overflow!请查看我们的SO Question Checklist 以帮助您提出一个好问题,从而得到一个好的答案。
-
您可以为此使用
parallel、sem或xargs -P。 -
您知道 GNU
parallel和xargs的-P选项吗?还是你真的想自己写?祝你好运! -
@shellter 我比较喜欢写,之前忘记提了。
标签: linux multithreading bash shell operating-system