What process is listening on a certain port on Solaris?

后端 未结 11 1212
情话喂你
情话喂你 2020-12-13 02:24

So I log into a Solaris box, try to start Apache, and find that there is already a process listening on port 80, and it\'s not Apache. Our boxes don\'t have lsof installed,

11条回答
  •  别那么骄傲
    2020-12-13 03:13

    I found this script somewhere. I don't remember where, but it works for me:

    #!/bin/ksh
    
    line='---------------------------------------------'
    pids=$(/usr/bin/ps -ef | sed 1d | awk '{print $2}')
    
    if [ $# -eq 0 ]; then
       read ans?"Enter port you would like to know pid for: "
    else
       ans=$1
    fi
    
    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 being used by PID:\c"
          /usr/bin/ps -ef -o pid -o args | egrep -v "grep|pfiles" | grep $f
       fi
    done
    exit 0
    

    Edit: Here is the original source: [Solaris] Which process is bound to a given port ?

提交回复
热议问题