gpt4 book ai didi

linux - 并行运行多个可执行文件,限制为 5

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

我正在运行更大量 (100) 的计算。每次计算需要 5 小时才能完成,并且只能在一个核心上运行。因此,为了使整个过程更有效率,我需要同时运行 5 个(或更多,取决于 cpus 的数量)。我有 100 个文件夹,每个文件夹中有一个可执行文件。我怎样才能以只有 5 个同时运行的方式运行所有 100 个可执行文件?

我已经尝试过 xargs,如下所示:Parallelize Bash script with maximum number of processes

cpus=5
寻找 。 -名称./*/*.exe | xargs --max-args=1 --max-procs=$cpus echo

我找不到运行它们的方法。 Echo 仅在屏幕上打印路径。

最佳答案

您可以通过指定替换模式并将其用作命令来将输入作为命令执行:

$ printf '%s\n' uname pwd | xargs -n 1 -I{} {}
Linux
/data/data/com.termux/files/home

或者更简单但不那么直接地使用 env 作为命令,因为这将执行它的第一个参数:

printf '%s\n' uname pwd | xargs -n 1 env

在您的情况下,您的完整命令可能是:

find . -name '*.exe' | xargs -n 1 -P 5 env

关于linux - 并行运行多个可执行文件,限制为 5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55667380/

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