Finding Process ID (PID) using a port number in Solaris is not as easy as Linux.

If you are working on the setup of a new service and would like to allocate some port, you got to check if some other service uses that port.

You can find out which process is using the particular port in Solaris by below tiny shell scripts.

Following scripts will prompt you to enter the port number, and it will use pfiles command internally to give you the pid.

  • Create a file with the following
pids=$(/usr/bin/ps -ef -o pid=)
if [ $# -eq 0 ];
read ans?"Enter Port Number To Know The pid: "
else ans=$1
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 echo "Port: $ans is used by PID:c" pargs -l $f
  • Save and change the permission of the file to be executable
chmod 754 $filename
  • Execute the file

Easy. Isn’t it?

Interested in learning Linux administration? Check out these resources.