我正在使用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