Script to get free port Unix/Linux/OSX
The following script is originally from my own project. It returns a free port starting from configurable port number.
#!/bin/bash
# Default nameserver port
(( port=35021 ))
# Silently (>> /dev/null) see if the port is free,
# otherwise increase counter to find a free port
if [ "$(uname)" == "Darwin" ]; then
# Special test for Mac OS X platform
while lsof -n -i4TCP:$port | grep LISTEN >> /dev/null
do
(( port += 1 ))
done
else
while netstat -antu | grep $port >> /dev/null
do
(( port += 1 ))
done
fi
echo $port
If you want to close an open port fiercely. Here you go
sudo netstat -ap | grep :<port_number>
It returns a corresponding process holding the port_number. Then you kill it by
kill pid
or kill -9 pid