view sources/toys/unique-port.sh @ 1725:c0c2e67782be draft

New squashfs config symbol, not sure why you'd ever want to switch it off...
author Rob Landley <rob@landley.net>
date Sun, 25 Jan 2015 11:48:36 -0600
parents 1cdd44f2bac2
children
line wrap: on
line source

unique_port()
{
  # Try to find an unused port number for each running instance of the program.

  START=8192
  RANGE=$[$(awk '{print $1}' /proc/sys/net/ipv4/ip_local_port_range)-$START]
  if [ $RANGE -lt 8 ]
  then
    START=$[$(awk '{print $2}' /proc/sys/net/ipv4/ip_local_port_range)]
    RANGE=$[65535-$START]
    if [ $RANGE -lt 8 ]
    then
      START=16384
      RANGE=32768
    fi
  fi
  echo $[($$%$RANGE)+$START]
}