免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 16623 | 回复: 8
打印 上一主题 下一主题

lsof 如何查看端口号, [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-23 16:46 |只看该作者 |倒序浏览
当前有个java程序,出发点是为了找出pid,kill掉。考虑到系统中还运行其他java程序,不能简单的使用
kill  -9 `ps -ef | grep java | awk '{print $2}'` 这样的方式。

这个程序侦听12345端口号,
netstat -an的输出是:
127.0.0.1.8005             *.*                0      0 49152      0 LISTEN
      *.32928              *.*                0      0 49152      0 BOUND
      *.12345               *.*                0      0 49152      0 LISTEN
没有pid信息。

据说lsof可以,
但是我搜索之后,有人说,命令
lsof -i :12345  或者
lsof -i TCP@127.0.0.1:12345 或者
lsof -i | grep 12345
可以显示出来,
但是,我的系统(solaris10)上却都不行。


lsof -v的输出是:
lsof version information:
    revision: 4.77
    latest revision: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
    latest FAQ: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
    latest man page: ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
    constructed: Sat Nov 4 06:19:47 EST 2006
    constructed by and on: steve@w1100z
    compiler: /usr/sfw/bin/gcc -m64
    compiler version: 3.4.6
    compiler flags: -Dsolaris=100000 -DHASPR_LDT -DHASIPv6 -DHASSOUXSOUA -DHAS_IPCLASSIFIER_H -DHAS_CRED_IMPL_H -DHAS_V_PATH -DHASZONES -DHASUTMPX -DHAS_VSOCK -DLSOF_VSTR="5.10" -O
    loader flags: -L./lib -llsof  -lkvm -lelf -lsocket -lnsl
    system info: SunOS w1100z 5.10 Generic_118855-15 i86pc i386 i86pc Solaris
    Anyone can list all files.
    /dev warnings are enabled.
    Kernel ID check is enabled.
    Device cache file read-only paths:
        Named via -D: none
        Named in environment variable LSOFDEVCACHE: none
        Personal path format (HASPERSDC): "%h/%p.lsof_%L"
        Modified personal path environment variable: LSOFPERSDCPATH
        LSOFPERSDCPATH value: none
        Personal path: /.lsof_sol1
    Device cache file write paths:
        Named via -D: none
        Named in environment variable LSOFDEVCACHE: none
        Personal path format (HASPERSDC): "%h/%p.lsof_%L"
        Modified personal path environment variable: LSOFPERSDCPATH
        LSOFPERSDCPATH value: none
        Personal path: /.lsof_sol1

论坛徽章:
0
2 [报告]
发表于 2007-06-24 13:25 |只看该作者
cd /proc

pfiles * >> any_name.file

在重定向的 any_name.file 文件中查找端口,就能找到对应的进程

论坛徽章:
0
3 [报告]
发表于 2007-06-24 19:41 |只看该作者
[root@sol1:/proc] # pfiles  * >> /tmp/portfile.file
pfiles: cannot examine 4014: no such process
pfiles: cannot examine 4015: no such process
[root@sol1:/proc] # vi /tmp/portfile.file


11: S_IFREG mode:0644 dev:55,64 ino:256407 uid:0 gid:0 size:0
      O_WRONLY|O_APPEND|O_CREAT|O_LARGEFILE
      /opt/apache-tomcat-5.5.20/logs/host-manager.2007-06-22.log
  12: S_IFSOCK mode:0666 dev:276,0 ino:29188 uid:0 gid:0 size:0
      O_RDWR
        SOCK_STREAM
        SO_REUSEADDR,SO_SNDBUF(49152),SO_RCVBUF(49152)
        sockname: AF_INET 0.0.0.0  port: 12345
  13: S_IFSOCK mode:0666 dev:276,0 ino:25410 uid:0 gid:0 size:0
      O_RDWR
        SOCK_STREAM
        SO_SNDBUF(49152),SO_RCVBUF(49152)
        sockname: AF_INET 0.0.0.0  port: 12345
  14: S_IFCHR mode:0644 dev:270,0 ino:78118918 uid:0 gid:3 rdev:149,1

没看到什么进程的pid啊?
这是个java程序,显示不出来具体的程序的名称,只显示java进程,但是又还存在其他java进程,又不能把java进程全部杀掉,只能是kill掉侦听12345端口的进程。
如何处理啊?

论坛徽章:
0
4 [报告]
发表于 2007-06-25 09:50 |只看该作者
但是,我的系统(solaris10)上却都不行。


怎么个不行法?为啥我的机器都行?

论坛徽章:
0
5 [报告]
发表于 2007-12-21 17:47 |只看该作者

看一下自己lsof的版本号

看一下自己lsof的版本号

论坛徽章:
0
6 [报告]
发表于 2007-12-22 00:10 |只看该作者
for i in  `ps -ef | nawk '/java/&&!/ps/{print $2}'`;
do
     pfiles $i
done >info
//或加管道再进行处理,如| grep sock看打开的套接字

这样可以看到所有含java关键字的进程打开的文件描述符

论坛徽章:
0
7 [报告]
发表于 2011-04-04 22:26 |只看该作者
我两台主机,都是solaris 10,一台用lsof -i:端口号有输出,另外一台没有输出,很郁闷,有高人指点不?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2011-04-05 11:20 |只看该作者
那你两台机子都truss一下看看LOG有啥不同
truss -o 21.log lsof -i:21

论坛徽章:
0
9 [报告]
发表于 2012-12-27 15:48 |只看该作者
不是apache的问题。和os有关吧。用户limit修改没。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP