通過進程查端口號

貌似沒有一種可以在所有的Unix系統中通用的方法,下屬的某些方法僅僅適用於某個平臺,或者需要加裝某些程序才能使用。

目錄
  • netstat
  • lsof
  • pfiles (solaris)

一、 netstat

1.1 windows 下


1.查找指定目標進程(java的atf web工程)
tasklist -v |find "java"
圖像名 PID
javaw.exe 2760

2.在全部端口中查找進程號爲 pid=3582(atf項目的進程號) 的信息
netstat -nao |find "2760"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1232
TCP 0.0.0.0:8443 0.0.0.0:0 LISTENING 1232
TCP 192.168.88.46:4168 192.168.6.19:1531 ESTABLISHED 1232
TCP 192.168.88.46:4169 192.168.6.19:1531 ESTABLISHED 1232


1.2 Unix 系統下

1.使用netstat查看進程PID
[root@test ~]# netstat -anp|grep 5001
tcp 0 0 :::5001 :::* LISTEN 12886/java
2.使用ps查看進程情況
[root@test 12886]# ps -ef|grep 12886
root 12886 12851 0 Dec09 ? 00:01:14 /home/bjca/bea/jdk160_05/bin/java -client -Xms256m -Xmx512m -XX:CompileThreshold=8000 -XX:PermSize=48m -XX:MaxPermS


二、 lsof

[root@redhat95242 ~]# lsof -i :14191
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
vcsauthse 31863 root 18u IPv6 634454 TCP *:14191 (LISTEN)

三、 pfiles (solaris)

編寫個小腳本 test.sh
//********************************************//
cd /proc
for i in *
do
echo ------ process $i ---------
pfiles $i | grep -i "port: 41859"
done
//********************************************//
執行腳本
-bash-3.00$ ./test.sh
然後看結果:
------ process 0 ---------
pfiles: permission denied: 0
------ process 1 ---------
pfiles: permission denied: 1
------ process 5290 ---------
sockname: AF_INET 10.64.89.9 port: 41859
------ process 606 ---------
pfiles: permission denied: 606


發佈了18 篇原創文章 · 獲贊 9 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章