首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用bash脚本迭代地运行几个python文件,只使用7个CPUS?

如何使用bash脚本迭代地运行几个python文件,只使用7个CPUS?
EN

Stack Overflow用户
提问于 2022-08-02 20:05:56
回答 1查看 45关注 0票数 1

在我的机器上,它有八个CPU,我希望运行一些Python文件。我只想同时使用7个CPU。是否有可能使这一过程自动化?

目前,我正在做

代码语言:javascript
复制
pids0=""
for i in $(seq 1.5 0.05 1.8); do
   python3 $i &
   pids0="$pids0 $!"
done
wait $pids0


pids1=""
for i in $(seq 1.85 0.05 2.0); do
   python3 $i &
   pids1="$pids1 $!"
done
wait $pids1

每个循环的设计方式是只提交7个脚本,因此我必须编写几个for-循环来执行100次计算。如您所见,我的方法效率极低,因为我必须等待7个提交的python脚本完成运行,然后才能继续执行下一个循环。

我的目标是编写代码,在完成前一个任务之后,只要有可用的空闲CPU,就可以提交下一个任务,而无需编写几个for-循环。

PS:我在用我的办公室电脑,我不是管理员。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-02 20:18:10

您可以使用GNU并行:

parallel -j 7 python3 script.py ::: $(seq 1.5 0.05 2.0)

根据Mark Setchell的评论编辑

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73213193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档