oh pfiles

Heh, learn something new every day.

# pfiles 216 |grep sockname:|grep “AF_INET ”
sockname: AF_INET 0.0.0.0 port: 42
sockname: AF_INET 0.0.0.0 port: 514
sockname: AF_INET 0.0.0.0 port: 512
sockname: AF_INET 0.0.0.0 port: 512
sockname: AF_INET 0.0.0.0 port: 517

So who needs lsof when you can just loop through all the running pids and quickly grep for the right port, ie:

port=$1
for pid in `ps -ef -o pid | tail +2`
do
x=`pfiles $pid 2>&1 | grep ‘sockname:’|egrep “port: $port$”`
if [ "X$x" != "X" ]; then
echo “Port $port in use by $pid”
fi
done