Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

process using tcp port?

Status
Not open for further replies.

aswolff

Programmer
Jul 31, 2006
100
US
Is it possible to determine the process id (or orphaned process) that is still connected/listening or using a specified unix port?


I have any application that uses port 16001 but when I try to start it up it tells me that it cannot connect to the port.

Thanks.
 
Actually I found this nifty script for Solaris. It did the trick:

Code:
#!/bin/ksh
#
# 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
         read ans?"Enter port you like to know pid for:  "
else
         ans=$1
fi

# Check all pids for this port, then list that process
for f in $pids
do
         /usr/proc/bin/pfiles $f 2>/dev/null | /usr/xpg4/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
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top