opensolaris下找到某个端口属于哪个PID的bash

内容来源:http://sysunconfig.net/unixtips/port2pid

但是做了一些修改。

#!/bin/bash

7-30-2003

find from a port the pid that started the port

line=’————————————————————————-‘
pids=/usr/bin/ps -ef | sed 1d | awk '{print $2}'

Prompt users or use 1st cmdline argument

if [ $# -eq 0 ]
then
echo “Enter port you like to know pid for: “
read ans
else
ans=$1
fi

Check all pids for this port, then list that process

for f in $pids
do
/usr/bin/pfiles $f 2>/dev/null | /usr/gnu/bin/grep -q “port: $ans”
if [ $? -eq 0 ] ; then
echo “$line/nPort: $ans is being used by PID: /c”
/usr/bin/ps -o pid -o args -p $f | sed 1d
fi
done
exit 0