这篇文章主要介绍了Linux中如何查看端口占用情况,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

在项目的部署的时候,会遇到端口被占用的情况,需要我们先停下占用端口的进程,然后才能开启新的服务来使用这个端口。

lsof

lsof(list open files)是一个列出当前系统打开文件的工具。

lsof 查看端口占用语法格式:

lsof-i:端口号

实例

查看服务器 8000 端口的占用情况:

#lsof-i:8000COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEnodejs26993root10uIPv4379995140t0TCP*:8000(LISTEN)

可以看到 8000 端口已经被轻 nodejs 服务占用。

lsof -i 需要 root 用户的权限来执行,如下图:

看下Linux 如何查看端口占用情况看下Linux 如何查看端口占用情况

更多 lsof 的命令如下:

lsof-i:8080:查看8080端口占用lsofabc.txt:显示开启文件abc.txt的进程lsof-cabc:显示abc进程现在打开的文件lsof-c-p1234:列出进程号为1234的进程所打开的文件lsof-ggid:显示归属gid的进程情况lsof+d/usr/local/:显示目录下被进程开启的文件lsof+D/usr/local/:同上,但是会搜索目录下的目录,时间较长lsof-d4:显示使用fd为4的进程lsof-i-U:显示所有打开的端口和UNIXdomain文件netstat

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

netstat 查看端口占用语法格式:

netstat-tunlp|grep端口号

-t (tcp) 仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化为数字
-l 仅列出在Listen(监听)的服务状态
-p 显示建立相关链接的程序名

例如查看 8000 端口的情况,使用以下命令:

#netstat-tunlp|grep8000tcp000.0.0.0:80000.0.0.0:*LISTEN26993/nodejs

更多命令:

netstat-ntlp//查看当前所有tcp端口netstat-ntulp|grep80//查看所有80端口使用情况netstat-ntulp|grep3306//查看所有3306端口使用情况kill

在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:

kill-9PID

如上实例,我们看到 8000 端口对应的 PID 为 26993,使用以下命令杀死进程:

kill-926993

感谢你能够认真阅读完这篇文章,希望小编分享的“Linux中如何查看端口占用情况”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!