Bash 如何使用平行卷曲?
我如何使用gnu并行来加快这个过程Bash 如何使用平行卷曲?,bash,gnu-parallel,gnome-terminal,Bash,Gnu Parallel,Gnome Terminal,我如何使用gnu并行来加快这个过程 #!/bin/bash for (( c=1; c<=100; c++ )) do curl -sS 'https://example.com' \ --data 'value='$c'' /dev/null echo $c done #/bin/bash 对于((c=1;c),可以使用parallel或xargs seq 100 | parallel curl -sS 'https://example.com' -
#!/bin/bash
for (( c=1; c<=100; c++ ))
do
curl -sS 'https://example.com' \
--data 'value='$c'' /dev/null
echo $c
done
#/bin/bash
对于((c=1;c),可以使用parallel或xargs
seq 100 | parallel curl -sS 'https://example.com' --data value='{}' /dev/null
seq 100 | xargs -I{} curl -sS 'https://example.com' --data value='{}' /dev/null
作为脚本支架,输出将发送到STDUT。使用XARGS,这将导致不同调用的输出可能混合。如果需要,考虑重定向输出到文件以进行附加处理。
您可以根据需要添加最大并行(-Pn等)选项
我不确定为什么需要'/DEV/NULL '。考虑重新排序:
curl-sS--数据值=“{}”
您可以使用持久连接使请求更快。据我所知,可以将持久连接与curl(和wget)一起使用在GET调用上。不确定如何在POST时使用持久连接,其中每个调用需要不同的-data。您可以提供示例吗?是的,curl无法在不删除连接的情况下发送具有不同数据的POST请求,即使使用-K,它只会将所有--data
相加,并将它们发送到所有--url
。如果值必须是唯一的,我们可以生成包含一批URL的多个配置文件,并与xargs-P
并行运行,以最小化连接成本。