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