系统集成进程wparlsof

如何用lsof查看WPAR里端口对应的进程?

lsof在WPAR里不能使用,所以要想知道WPAR里端口对应的进程是个问题。今天研究了下这个问题,发现不必在WPAR里运行lsof,在GLOBAL环境下运行lsof完全可以知道某个WPAR里所有端口对应的进程名、进程ID。

    方法如下:
WPAR=XXXX
for i in `ps -e@ | awk -v wpar=$WPAR '$1==wpar {print $2}'`;do
lsof -nPp $i 2>/dev/null| grep LIS
done

    示例:
WPAR里可以看到
# hostname; netstat -an | grep LIS
wpar4
tcp4       0      0  *.13                   *.*                    LISTEN
tcp        0      0  *.21                   *.*                    LISTEN
tcp        0      0  *.23                   *.*                    LISTEN
tcp4       0      0  *.25                   *.*                    LISTEN
tcp4       0      0  *.37                   *.*                    LISTEN
tcp4       0      0  *.111                  *.*                    LISTEN
tcp        0      0  *.512                  *.*                    LISTEN
tcp        0      0  *.513                  *.*                    LISTEN
tcp        0      0  *.514                  *.*                    LISTEN
tcp        0      0  *.657                  *.*                    LISTEN
tcp4       0      0  *.1334                 *.*                    LISTEN
tcp4       0      0  *.33465                *.*                    LISTEN
tcp4       0      0  *.33466                *.*                    LISTEN
tcp4       0      9  99.1.73.216.23         99.1.70.94.4540        ESTABLISHED
# lsof
lsof: can't open /dev/mem: No such file or directory
lsof: can't open /dev/kmem: No such file or directory
#

GLOBAL环境里可以看到
# lswpar
Name    State  Type  Hostname   Directory   
----------------------------------------------
mywpar  A      S     mywpar     /wpars/mywpar
wpar2   A      S     wpar2      /wpars/wpar2
wpar3   A      S     wpar3      /wpars/wpar3
wpar4   A      S     wpar4      /wpars/wpar4
# WPAR=wpar4
# for i in `ps -e@ | awk -v wpar=$WPAR '$1==wpar {print $2}'`;do
>       lsof -nPp $i 2>/dev/null| grep LIS
> done
inetd   229482 root    4u  IPv6  0xf1000700011583b0                 0t0  TCP *:21 (LISTEN)
inetd   229482 root    5u  IPv6  0xf100070001158bb0                 0t0  TCP *:23 (LISTEN)
inetd   229482 root    6u  IPv6  0xf1000700011573b0                 0t0  TCP *:514 (LISTEN)
inetd   229482 root    7u  IPv6  0xf100070001157bb0                 0t0  TCP *:513 (LISTEN)
inetd   229482 root    8u  IPv6  0xf1000700011563b0                 0t0  TCP *:512 (LISTEN)
inetd   229482 root   10u  IPv4  0xf100070001156bb0                 0t0  TCP *:13 (LISTEN)
inetd   229482 root   11u  IPv4  0xf1000700011553b0                 0t0  TCP *:37 (LISTEN)
telnetd 245778 root    0u  IPv6 0xf10007000c4b13b0                0t99  TCP 99.1.73.216:23->99.1.70.94:4540 (ESTABLISHED)
telnetd 245778 root    1u  IPv6 0xf10007000c4b13b0                0t99  TCP 99.1.73.216:23->99.1.70.94:4540 (ESTABLISHED)
telnetd 245778 root    2u  IPv6 0xf10007000c4b13b0                0t99  TCP 99.1.73.216:23->99.1.70.94:4540 (ESTABLISHED)
sendmail 111064 root    5u  IPv4  0xf1000700004173b0                 0t0        TCP *:25 (LISTEN)
rmcd    180552 root   13u  IPv6  0xf100070008ffe3b0                 0t0        TCP *:657 (LISTEN)
writesrv 90656 root    3u  IPv4 0xf10007000656d3b0                 0t0  TCP *:1334 (LISTEN)
#
参与4

4同行回答

风见秋风见秋软件开发工程师链家地产
看来wpar还不能完全当做lpar来使用。显示全部
看来wpar还不能完全当做lpar来使用。收起
互联网服务 · 2013-04-26
浏览1307
allanwangallanwangADMINIBM
有用,有用,收藏起来先!显示全部
有用,有用,收藏起来先!收起
IT分销/经销 · 2009-07-30
浏览1293
wxy24beanwxy24bean项目总监天玑
:handshake :D显示全部
:handshake
:D收起
系统集成 · 2009-05-18
浏览1311
学习,学习。。。。。。。显示全部
学习,学习。。。。。。。收起
2009-02-18
浏览1204

提问者

fly0176
IT顾问新明星
擅长领域: 服务器系统管理存储

问题状态

  • 发布时间:2009-02-17
  • 关注会员:0 人
  • 问题浏览:7368
  • 最近回答:2013-04-26
  • X社区推广