Search code examples
linuxunixoperating-systemsunos

how to get process id attached with particular port in sunos


I am trying to get processes attached with a port 7085 on SunOS. i tried following commands.

netstat -ntlp | grep 7085 didn't return anything

netstat -anop | grep 7085 tried this one also. This switches are not valid in SunOs

I am getting the following output.

#netstat -anop

netstat: illegal option -- o

usage: netstat [-anv] [-f address_family]

netstat [-n] [-f address_family] [-P protocol] [-g | -p | -s [interval [count]]]

netstat -m [-v] [interval [count]]

netstat -i [-I interface] [-an] [-f address_family] [interval [count]]

netstat -r [-anv] [-f address_family|filter]

netstat -M [-ns] [-f address_family]

netstat -D [-I interface] [-f address_family]

The version of SunOS is SunOS 5.10. I believe netstat is the only command can do this.

What is the exact switches for netstat which will give me the process id attached with port?


Solution

  • pfiles /proc/* 2>/dev/null | nawk '
    /^[0-9]*:/ { pid=$0 }
    /port: 7085$/ { printf("%s %s\n",pid,$0);}'
    
    • pfiles /proc/* is retrieving all processes file descriptors details
    • 2>/dev/null is dropping out errors due to transient processes died in the meantime
    • each line starting with a number followed by a colon reports the process id and details, it is stored in the awk pid variable
    • when a line ends with the string port: <portnumber> (here is 7085), the corresponding pid variable is displayed.

    Note: you need the required privilege(s) to get port information from processes you do not own (root has all privileges).