2015-05-29 24 views
1

我想开始一些并行作业,并且希望按顺序输出结果。在我的情况下,作业是与curl一起发送的HTTP请求,我只对响应代码感兴趣。这是我到目前为止:启动多个后台作业并按顺序打印结果

for i in {1..6} 
do 
    curl -H "Content-Type: application/json" -X POST \ 
     -d 'some data' \ 
     -s -o /dev/null -w "%{http_code}\n" \ 
     <url of service> & 
done 
wait 

这打印每个请求的结果代码,但不是以正确的顺序。任何方式我可以纠正输出的顺序?

请求实际上是并行发送的。

回答

0

存储结果的文件,然后打印出来,一旦样样齐全:

for i in {1..6} 
do 
    curl -H "Content-Type: application/json" -X POST \ 
     -d 'some data' \ 
     -s -o /dev/null -w "%{http_code}\n" \ 
     <url of service> > result_$i & 
done 
wait 

for i in {1..6} 
do 
    cat result_$i 
    rm result_$i 
done 
相关问题