netstat命令各个参数说明如下:
-t : 指明显示TCP端口
-u : 指明显示UDP端口
-l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的程序)
-p : 显示进程标识符和程序名称,每一个套接字/端口都属于一个程序。
-n : 不进行DNS轮询,显示IP(可以加速 *** 作)
即可显示当前服务器上所有端口及进程服务,于grep结合可查看某个具体端口及服务情况··
netstat -ntlp //查看当前所有tcp端口·
netstat -ntulp |grep 80 //查看所有80端口使用情况·
netstat -ntulp | grep 3306 //查看所有3306端口使用情况·
Linux查看程序端口占用情况
使用命令:
ps -aux | grep tomcat
发现并没有8080端口的Tomcat进程。
使用命令:netstat –apn
查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是PID/Program name
发现8080端口被PID为9658的Java进程占用。
进一步使用命令:ps -aux | grep java,或者直接:ps -aux | grep pid 查看
就可以明确知道8080端口是被哪个程序占用了!然后判断是否使用KILL命令干掉!
方法二:直接使用 netstat -anp | grep portno
即:netstat -anp|grep 8080
netstat -anp|grep 8080 -->tcp0 0 0.0.0.0:80800.0.0.0:* LISTEN 28500/java
ps -aux | grep 28500 -->r/local/tomcat9-jforum/tomcat
安装lsof list open files//---也可以 netstat -tunlp|grep 端口号 netstat -anp|grep 端口号
yum install lsof
lsof -i:8080 查看8080端口占用
lsof abc.txt 显示开启文件abc.txt的进程
lsof -c abc 显示abc进程现在打开的文件
lsof -c -p 1234 列出进程号为1234的进程所打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 -->IPv4 or IPv6
protocol -->TCP or UDP
hostname -->Internet host name
hostaddr -->IPv4地址
service -->/etc/service中的 service name (可以不止一个)
port -->端口号 (可以不止一个)
lsof -i //显示所有打开的端口
lsof -i:80 //显示所有打开80端口的进程
lsof -i -U //显示所有打开的端口和UNIX domain文件
其实我一般这样用:
[root@VM_39_230_centos bin]# lsof -i:3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 16422 mysql 19u IPv6 148794 0t0 TCP *:mysql (LISTEN)
mysqld 16422 mysql 39u IPv6 643698 0t0 TCP localhost:mysql->localhost:36582 (ESTABLISHED)
mysqld 16422 mysql 45u IPv6 643699 0t0 TCP localhost:mysql->localhost:36584 (ESTABLISHED)
mysql
一、常用命令:
1,lsof -i端口号
2,netstat -tunlp|grep 端口号
这两个命令都可以查看端口被什么进程占用。
二、lsof -i 需要 root 用户的权限来执行,如下图:
三、netstat命令
netstat -tunlp 用于显示 tcp,udp 的端口和进程等相关情况。
netstat 查看端口占用语法格式:
netstat -tunlp | grep 端口号
扩展资料
一、更多 lsof 的命令扩展
1、lsof -i:8080:查看8080端口占用
2、lsof abc.txt:显示开启文件abc.txt的进程
3、lsof -c abc:显示abc进程现在打开的文件
4、lsof -c -p 1234:列出进程号为1234的进程所打开的文件
5、lsof -g gid:显示归属gid的进程情况
6、lsof +d /usr/local/:显示目录下被进程开启的文件
7、lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
8、lsof -d 4:显示使用fd为4的进程
9、lsof -i -U:显示所有打开的端口和UNIX domain文件
二、更多netstat命令
1、netstat -ntlp //查看当前所有tcp端口
2、netstat -ntulp | grep 80 //查看所有80端口使用情况
3、netstat -ntulp | grep 3306 //查看所有3306端口使用情况
三、关闭端口
1、在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
kill -9 PID
2、如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:
kill -9 26993
一、windows
1、windows
cmd
netstat -ano #查看所有端口
netstat -ano|findstr "27017" #查看特定端口
tasklist | findstr "27017" #查看pid 对应的应用
2、linux
netstat -tunpl |grep 27017 # 端口对应进程
ps -ef|grep 进程ID #可以看到这个进程所在的目录,进程执行文件等信息
ll /proc/进程ID/cwd #可以 直接查看进程所在的目录,这样的话就可以快速定位到进程的目录
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)