最近写测试用例,shell脚本很简单。如下:
1 #!/bin/bash
2
3 for((i = 1;i <= 100;i++))
4 do
5 {
6 ./response_sync_serv test_ser_$((i)) $((60000 + i))> /dev/null &
7 ./response_sync_serv test1_ser_$((i)) $((66000 + i))> /dev/null &
8 }&
9
10 done
目的 想后台启动200个服务,并由命令行参数传入端口号。
修改文件权限后执行shell脚本。前100个可顺利执行,后100个显示bind端口失败。不知所以,网上求救,得知/proc/sys/net/ipv4/ip_local_port_range文件规定了socket绑定临时端口号的范围。查看文件内容
1 1024 65000
的确超过此范围。修改脚本再次执行,问题解决。