在solaris中如何查看端口被哪个进程占用的方法

来源:互联网 发布:matlab2016a怎么编程 编辑:程序博客网 时间:2024/04/29 21:45

原文:

http://bbs.51cto.com/thread-651650-1.html


solaris下没有可以根据端口号查到占用该端口进程的命令,这个问题困扰了我好久,今天终于得以解决了,现在就分享一下,嘿嘿。


首先确定你要查的端口41859

编写个小脚本 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 10322 ---------
pfiles: permission denied: 10322
------ process 1120 ---------
pfiles: permission denied: 1120
------ process 12248 ---------
------ process 126 ---------
pfiles: permission denied: 126
------ process 1297 ---------
pfiles: permission denied: 1297
------ process 139 ---------
pfiles: permission denied: 139
------ process 140 ---------
pfiles: permission denied: 140
------ process 14736 ---------
pfiles: permission denied: 14736
------ process 1531 ---------
pfiles: permission denied: 1531
------ process 1538 ---------
pfiles: permission denied: 1538
------ process 1540 ---------
------ process 15724 ---------
pfiles: permission denied: 15724
------ process 1585 ---------
------ process 168 ---------
pfiles: permission denied: 168
------ process 176 ---------
pfiles: permission denied: 176
------ process 178 ---------
pfiles: permission denied: 178
------ process 18149 ---------
pfiles: permission denied: 18149
------ process 18160 ---------
pfiles: permission denied: 18160
------ process 18162 ---------
------ process 190 ---------
pfiles: permission denied: 190
------ process 19225 ---------
pfiles: permission denied: 19225
------ process 19233 ---------
------ process 19235 ---------
------ process 2 ---------
pfiles: permission denied: 2
------ process 22077 ---------
------ process 224 ---------
pfiles: permission denied: 224
------ process 22476 ---------
pfiles: permission denied: 22476
------ process 22478 ---------
pfiles: permission denied: 22478
------ process 22479 ---------
pfiles: permission denied: 22479
------ process 22480 ---------
pfiles: permission denied: 22480
------ process 22481 ---------
pfiles: permission denied: 22481
------ process 22482 ---------
pfiles: permission denied: 22482
------ process 22509 ---------
pfiles: permission denied: 22509
------ process 22513 ---------
pfiles: permission denied: 22513
------ process 22515 ---------
pfiles: permission denied: 22515
------ process 236 ---------
pfiles: permission denied: 236
------ process 23848 ---------
pfiles: cannot examine 23848: no such process
------ process 23851 ---------
pfiles: cannot examine 23851: no such process
------ process 23852 ---------
------ process 24156 ---------
pfiles: no such process: 24156
------ process 24509 ---------
pfiles: permission denied: 24509
------ process 25941 ---------
pfiles: permission denied: 25941
------ process 25949 ---------
pfiles: permission denied: 25949
------ process 25951 ---------
------ process 26338 ---------
pfiles: permission denied: 26338
------ process 26472 ---------
pfiles: permission denied: 26472
------ process 26481 ---------
pfiles: permission denied: 26481
------ process 29119 ---------
------ process 3 ---------
pfiles: permission denied: 3
------ process 3457 ---------
pfiles: permission denied: 3457
------ process 3465 ---------
pfiles: permission denied: 3465
------ process 378 ---------
pfiles: permission denied: 378
------ process 429 ---------
pfiles: permission denied: 429
------ process 433 ---------
pfiles: permission denied: 433
------ process 440 ---------
pfiles: permission denied: 440
------ process 448 ---------
pfiles: permission denied: 448
------ process 450 ---------
pfiles: permission denied: 450
------ process 476 ---------
pfiles: permission denied: 476
------ process 478 ---------
pfiles: permission denied: 478
------ process 483 ---------
pfiles: permission denied: 483
------ process 505 ---------
pfiles: permission denied: 505
------ process 508 ---------
pfiles: permission denied: 508
------ process 510 ---------
pfiles: permission denied: 510
------ process 511 ---------
pfiles: permission denied: 511
------ process 512 ---------
pfiles: permission denied: 512
------ process 514 ---------
pfiles: permission denied: 514
------ process 5270 ---------
------ process 5271 ---------
------ process 5290 ---------
        sockname: AF_INET 10.64.89.9  port: 41859
------ process 606 ---------
pfiles: permission denied: 606
------ process 607 ---------
pfiles: permission denied: 607
------ process 617 ---------
pfiles: permission denied: 617
------ process 640 ---------
pfiles: permission denied: 640
------ process 647 ---------
pfiles: permission denied: 647
------ process 650 ---------
pfiles: permission denied: 650
------ process 660 ---------
pfiles: permission denied: 660
------ process 6971 ---------
pfiles: permission denied: 6971
------ process 7 ---------
pfiles: permission denied: 7
------ process 713 ---------
pfiles: permission denied: 713
------ process 742 ---------
pfiles: permission denied: 742
------ process 751 ---------
pfiles: permission denied: 751
------ process 9 ---------
pfiles: permission denied: 9

在结果中找到
------ process 5290 ---------
        sockname: AF_INET 10.64.89.9  port: 41859

5290就是占用41859的进程号了。

最后,再ps -ef|grep 5290,就差不多可以找到是哪个进程了。也可以ps -auxwww|grep 5290,看到更详细些。

*在执行查找脚本的时候,当前的用户要有足够的权限。像执行结果中有报“permission denied”,这都是没有权限。
所以如果午饭们想要查的,最好用大一点权限的用户,或者就基本可以确定是所在用户的进程,这样才能查得到。

最后再说一句,这个办法还不算很强大,但是对于solaris来说, 没有直接可以通过端口查到进程号的命令,只好这般这般如此了……
如果更容易,更合理的方法,也请指教!!!