linux 绑定端口号失败

本文详细阐述了如何通过调整Shell脚本和操作系统设置来解决后台启动大量服务时出现的端口冲突问题,特别是涉及到超出默认端口范围导致的bind端口失败现象。通过修改脚本中服务启动命令的参数,以及了解和调整/proc/sys/net/ipv4/ip_local_port_range文件,最终成功解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近写测试用例,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
的确超过此范围。修改脚本再次执行,问题解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值