天天看点

处理netstat中获取不到pid的进程

一般查看一台服务器,为了查看一台机器上运行的端口及监听的服务,常会用到netstat -luntp这个命令。

但是不是每一个运行的进程都能有pid显示,今天就遇到如下情况:

处理netstat中获取不到pid的进程

1、通过netstat 中加入一个e得参数查看,启动对应端口的用户。

netstat -letnp|grep 2049

tcp        0      0 0.0.0.0:2049            0.0.0.0:*               listen      0          109911170   -               

tcp6       0      0 :::2049                 :::*                    listen      0          109911174   -    

2、通过lsof -i:port 查看出,占用端口中启动的程序。

root@iz239fkpuw4z:~# lsof -i:2049

root@iz239fkpuw4z:~# 

3、另一种可能是,这是一个内核线程,这没有 pid,因为它运行在内核。

# rpcinfo -p localhost

   program vers proto   port  service

    100000    4   tcp    111  portmapper

    100000    3   tcp    111  portmapper

    100000    2   tcp    111  portmapper

    100000    4   udp    111  portmapper

    100000    3   udp    111  portmapper

    100000    2   udp    111  portmapper

    100024    1   udp  45890  status

    100024    1   tcp  39339  status

    100003    2   tcp   2049  nfs

    100003    3   tcp   2049  nfs

    100003    4   tcp   2049  nfs

    100227    2   tcp   2049

    100227    3   tcp   2049

    100003    2   udp   2049  nfs

    100003    3   udp   2049  nfs

    100003    4   udp   2049  nfs

    100227    2   udp   2049

    100227    3   udp   2049

    100021    1   udp  59559  nlockmgr

    100021    3   udp  59559  nlockmgr

    100021    4   udp  59559  nlockmgr

    100021    1   tcp  56671  nlockmgr

    100021    3   tcp  56671  nlockmgr

    100021    4   tcp  56671  nlockmgr

    100005    1   udp  39406  mountd

    100005    1   tcp  38170  mountd

    100005    2   udp  55870  mountd

    100005    2   tcp  43332  mountd

    100005    3   udp  55118  mountd

    100005    3   tcp  56334  mountd

继续阅读