通过
netstat -ntlp
查看端口
这是已经占用的端口,可以看到,
比如说要关闭 9002 端口,应该怎么处理?
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,如下图