我尝试在一个包含一系列端口的循环中运行curl命令,该循环运行2000次,并且在每使用5个源端口后,该范围将从端口号4000开始重新使用。但是在使用前5个端口后,我看到一个bind failed错误,因为curl会将这些旧连接保留一段时间。有没有办法删除旧连接并重新启动循环?
for i in {1...2000} do curl --local-port 4000-4005 http://10.52.26.22 -m 1 sleep 1 done
toe950271#
鉴于评论中澄清的问题,考虑:
#!/usr/bin/env bash local_port_min=4000 local_port_max=4005 for ((i=0; i<2000; i++)); do if (( local_port < local_port_min )) || (( local_port >= local_port_max )); then local_port=$(( local_port_min - 1 )) fi (( ++local_port )) curl -H "Connection: close" --local-port "$local_port" http://10.52.26.22 -m 1 sleep 1 done
1条答案
按热度按时间toe950271#
鉴于评论中澄清的问题,考虑: