相关疑难解决方法(0)

并行运行命令并限制同时执行的命令数

顺序:for i in {1..1000}; do do_something $i; done- 太慢

并行:for i in {1..1000}; do do_something $i& done- 负载过多

如何并行运行命令,但不超过例如每时 20 个实例?

现在通常使用 hack like for i in {1..1000}; do do_something $i& sleep 5; done,但这不是一个好的解决方案。

更新 2:将接受的答案转换为脚本:http : //vi-server.org/vi/parallel

#!/bin/bash

NUM=$1; shift

if [ -z "$NUM" ]; then
    echo "Usage: parallel <number_of_tasks> command"
    echo "    Sets environment variable i from 1 to number_of_tasks"
    echo "    Defaults to 20 processes at a time, use like …
Run Code Online (Sandbox Code Playgroud)

linux bash parallel-processing

25
推荐指数
1
解决办法
2万
查看次数

标签 统计

bash ×1

linux ×1

parallel-processing ×1