netstat显示进程

netstat我一般用:

netstat -tupln

查看端口占用情况,其中t是tcp,u是udp,p是进程pid信息,l是仅显示listen状态有关进程,n是拒绝别名,能用数字显示就用数字。

比如查看80端口:

@hp:~$ netstat -tupln | grep 80
(并非所有进程都能被检测到,所有非本用户的进程信息将不会显示,如果想看到所有信息,则必须切换到 root 用户)
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      -
tcp        0      0 0.0.0.0:8084            0.0.0.0:*               LISTEN      -
udp    10880      0 0.0.0.0:68              0.0.0.0:*                           -

没用root身份,没检测到的也就算了,检测到的也不显示进程。这样我一般是用sudo来让其显示进程信息,而不是为了检测没显示的进程,虽然我也觉得蛮奇怪:

@hp:~$ sudo netstat -tupln | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      31820/nginx: master
tcp        0      0 0.0.0.0:8084            0.0.0.0:*               LISTEN      1059/mono
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      806/systemd-resolve
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      28880/sshd: dww@pts
tcp6       0      0 ::1:6010                :::*                    LISTEN      28880/sshd: dww@pts
udp     2304      0 127.0.0.53:53           0.0.0.0:*                           806/systemd-resolve
udp    10880      0 0.0.0.0:68              0.0.0.0:*                           1207/dhclient

加了sudo后进程名称和pid都显示正常了。

猜你喜欢

转载自blog.csdn.net/u012911347/article/details/83070156