Mercurial > hg > aboriginal
comparison sources/toys/unique-port.sh @ 1196:1cdd44f2bac2
If some clever sysadmin claimed 1024-65535 for local ports, punt.
author | Rob Landley <rob@landley.net> |
---|---|
date | Thu, 05 Aug 2010 13:10:07 -0500 |
parents | 94b0b4ef1157 |
children |
comparison
equal
deleted
inserted
replaced
1195:41fdac77a907 | 1196:1cdd44f2bac2 |
---|---|
2 { | 2 { |
3 # Try to find an unused port number for each running instance of the program. | 3 # Try to find an unused port number for each running instance of the program. |
4 | 4 |
5 START=8192 | 5 START=8192 |
6 RANGE=$[$(awk '{print $1}' /proc/sys/net/ipv4/ip_local_port_range)-$START] | 6 RANGE=$[$(awk '{print $1}' /proc/sys/net/ipv4/ip_local_port_range)-$START] |
7 if [ $RANGE -lt 1 ] | 7 if [ $RANGE -lt 8 ] |
8 then | 8 then |
9 START=$[$(awk '{print $2}' /proc/sys/net/ipv4/ip_local_port_range)] | 9 START=$[$(awk '{print $2}' /proc/sys/net/ipv4/ip_local_port_range)] |
10 RANGE=$[65535-$START] | 10 RANGE=$[65535-$START] |
11 if [ $RANGE -lt 8 ] | |
12 then | |
13 START=16384 | |
14 RANGE=32768 | |
15 fi | |
11 fi | 16 fi |
12 echo $[($$%$RANGE)+$START] | 17 echo $[($$%$RANGE)+$START] |
13 } | 18 } |