无法在 Solaris 的侦听端口上获取 PID

无法在 Solaris 的侦听端口上获取 PID

我正在使用Solaris

SunOS myhost4 5.11 11.4.42.117.3 sun4v sparc sun4v non-global-zone

我确定端口 7777 正在使用,因为 telnet 成功,如下所示:

$ telnet myhost4 7777
Trying 10.23.52.219...
Connected to myhost4.mybank.com.
Escape character is '^]'.

下面的脚本可以工作并为我提供大多数端口的 PID

猫 getpidfromport.sh

#!/bin/bash
# $1 is the port we are looking for

if [ $# -lt 1 ]; then
echo "Please provide a port number parameter for this script"
echo "e.g. $0 1521"
exit
fi

echo "Greping for your port, please be patient (CTRL+C breaks)..."

for i in `ls /proc`
do
pfiles $i 2>/dev/null | grep AF_INET | grep -w $1
if [ $? -eq 0 ]; then
echo Is owned by pid $i
echo ----
fi
done

但是,当我通过端口 7777 时,它没有给我使用该端口的 pid

./getpidfromport.sh 7777
No results found!!

你能建议我如何使用端口 7777 获取 pid 吗?

答案1

对于这些类型的脚本,您需要访问/proc可由root用户完成的文件系统。尝试:

sudo ./getpidfromport.sh 7777

相关内容