私はSolarisを使用しています。
SunOS myhost4 5.11 11.4.42.117.3 sun4v sparc sun4v non-global-zone
Telnetは次のように成功するので、ポート7777が使用中であると確信しています。
$ 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