作为程序员一定要保持良好的睡眠,才能好编程

linux 如何查看端口,端口占用如何关闭?

发布时间:2019-05-09

通过  


netstat -ntlp


查看端口


g1.png


这是已经占用的端口,可以看到,


比如说要关闭 9002  端口,应该怎么处理?


g2.png



lsof -i:9002  查看端口的PID是什么,使用 ikll -9 PID

这样的命令关闭它。


最后再次使用   netstat -ntlp 查看端口 就没有9002 这个端口了。


然后再次开启。



2019年5月9日13:15:15 补充新的知识点


这个命令使用超级管理员查看,可以看到命令返回的结果


lsof -i


注:这里有一个误区,倘若本地登录linux的用户不是超级管理员,是不能看到其他用户执行程序的。


lsof -i :1129

[songyongzhan@anhao-dev ~]$ sudo lsof -i:1129
COMMAND  PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
php     1992 root    4u  IPv4 258010362      0t0  TCP *:saphostctrls (LISTEN)
php     1992 root   32u  IPv4 258017421      0t0  TCP anhao-dev:saphostctrls->10.20.100.93:swa-3 (ESTABLISHED)



netstat -ntlup

netstat -tunlp用于显示tcp,udp的端口和进程等相关情况


netstat -ntulp   查询出来的Listen 是- 怎么回事 ?

[songyongzhan@anhao-dev ~]$ netstat -ntlp | grep 1129
(No info could be read for "-p": geteuid()=1116 but you should be root.)
tcp        0      0 0.0.0.0:1129            0.0.0.0:*               LISTEN      -


查看进程的pid ,通过上面的命令我们可以看到哦   Listen  是一个  -   ,这是什么道理? 难道就是没有pid?????


这个是权限的问题,我当前登录linux不是超级管理员,因此不会显示出来,这里可以通过sudo 命令去执行。

[songyongzhan@anhao-dev ~]$ sudo netstat -ntlp | grep 1129
tcp        0      0 0.0.0.0:1129            0.0.0.0:*               LISTEN      1992/anhao: master


通过上面的命令,可以看到  1992 就是当前 1129 端口占用的 pid ,如果需要杀死他,可以使用  kill -9 1992



netstat -tunlp|grep 端口号

netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况,如查看22端口的情况,netstat -tunlp|grep 22,如下图