如何详细查询Linux系统下特定端口的占用状态及运行进程?
- 内容介绍
- 文章标签
- 相关推荐
使用者痛点的观点是,为什么需要查询Linux端口占用状态?
作为Linux程序管理员或开发者,您是否遇到过这些问题?说起来,
- 服务无法启动,怀疑端口被占用但不知道具体情况
- 应用部署失败,报错显示端口冲突却找不到根源
- 程序性能下降,需要排查非法占用的端口进程
- 安全审计要求检查所有监听端口及关联进程
- 网络连接异常,需要验证特定端口的状态和使用情况
说到主要方法,两大命令详细说明端口占用状态
1. lsof命令 - 全面精准的端口检测工具
-i选项专注于网络连接检测:
$ sudo lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 4u IPv4 123456 0t0 TCP *:http
高级用法示例:
-
$ lsof -i TCP -s TCP:LISTEN。ESTABLISHED -nP | grep :8080 -
$ sudo lsof -Pan -i :mysql | grep LISTEN | awk '{print $2}' | xargs kill -9 -
$ lsof -i :80 +c 10 # 查看占用80端口且命令长度超过10字符的进程
2. netstat命令 - 经典网络状态分析器
关键参数解析:
| 参数 | 含义与示例输出解释 | |
|---|---|---|
| -tunlp | 显示TCP/UDP连接及监听进程信息 | |
| -ano | 数字化显示所有连接 & | |
| -s | ©ç¶·#@<#@ç#@<#@<#@@@@@@@@@@@@@@@@@@@< |
常见组合命令:$ sudo netstat -tunlp | grep ':80\|:443'
说到实际方法,高效排查与管理端口问题⚠️关键场景处理⚠️
安全审计模式
$ ss -tulnp | awk 'NR==1 || /^+ + .*:]+/ {print}'
$ sudo lsof +c 1 +r5 +l +d /usr/bin/* | grep LISTEN
$ sudo fuser --socket --tcp --port=5432 --verbose
$ ps auxw | awk '$NF~/:]{1,5}$/' # 检查非标准位置的服务器进程
常见问题快速解答
Q: 查到异常占用如何处理?说起来,
bash
kill $ # 软终止方式推荐
killall # 按名称结束所有实例
systemctl stop .service # 对已知服务更优先使用systemd方式
Q: 未授权服务如何处理?
bash
chmod a-x /path/to/executable # 阻止执行权限
iptables -I INPUT -p tcp --dport numberin_question!
其实,-j DROP # 防火墙阻断访问
Q: 常规维护建议?话说回来,
bash
sudo ss -tnlp> /var/log/listeningports.log && \
sudo lsof +c> /var/log/openfiles.log && \
diff lastreport.txt currentreport.txt>> changes.log
Q: 被删除二进制文件的僵尸进程怎么办?
bash
ps auxwwwwwwwwwww|grep deleted|grep port_number|awk '{print $2}'|while read pid;do kill $pid;老实说,done
+++++ 辅助工具集.md.html.md
常见问题快速解答
Q: 查到异常占用如何处理?说起来,
bash
kill $ # 软终止方式推荐
killall
Q: 未授权服务如何处理?
bash
chmod a-x /path/to/executable # 阻止执行权限
iptables -I INPUT -p tcp --dport
Q: 常规维护建议?话说回来,
bash
sudo ss -tnlp> /var/log/listeningports.log && \ sudo lsof +c> /var/log/openfiles.log && \ diff lastreport.txt currentreport.txt>> changes.log
Q: 被删除二进制文件的僵尸进程怎么办?
bash ps auxwwwwwwwwwww|grep deleted|grep port_number|awk '{print $2}'|while read pid;do kill $pid;老实说,done
+++++ 辅助工具集.md.html.md
使用者痛点的观点是,为什么需要查询Linux端口占用状态?
作为Linux程序管理员或开发者,您是否遇到过这些问题?说起来,
- 服务无法启动,怀疑端口被占用但不知道具体情况
- 应用部署失败,报错显示端口冲突却找不到根源
- 程序性能下降,需要排查非法占用的端口进程
- 安全审计要求检查所有监听端口及关联进程
- 网络连接异常,需要验证特定端口的状态和使用情况
说到主要方法,两大命令详细说明端口占用状态
1. lsof命令 - 全面精准的端口检测工具
-i选项专注于网络连接检测:
$ sudo lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1234 root 4u IPv4 123456 0t0 TCP *:http
高级用法示例:
-
$ lsof -i TCP -s TCP:LISTEN。ESTABLISHED -nP | grep :8080 -
$ sudo lsof -Pan -i :mysql | grep LISTEN | awk '{print $2}' | xargs kill -9 -
$ lsof -i :80 +c 10 # 查看占用80端口且命令长度超过10字符的进程
2. netstat命令 - 经典网络状态分析器
关键参数解析:
| 参数 | 含义与示例输出解释 | |
|---|---|---|
| -tunlp | 显示TCP/UDP连接及监听进程信息 | |
| -ano | 数字化显示所有连接 & | |
| -s | ©ç¶·#@<#@ç#@<#@<#@@@@@@@@@@@@@@@@@@@< |
常见组合命令:$ sudo netstat -tunlp | grep ':80\|:443'
说到实际方法,高效排查与管理端口问题⚠️关键场景处理⚠️
安全审计模式
$ ss -tulnp | awk 'NR==1 || /^+ + .*:]+/ {print}'
$ sudo lsof +c 1 +r5 +l +d /usr/bin/* | grep LISTEN
$ sudo fuser --socket --tcp --port=5432 --verbose
$ ps auxw | awk '$NF~/:]{1,5}$/' # 检查非标准位置的服务器进程
常见问题快速解答
Q: 查到异常占用如何处理?说起来,
bash
kill $ # 软终止方式推荐
killall # 按名称结束所有实例
systemctl stop .service # 对已知服务更优先使用systemd方式
Q: 未授权服务如何处理?
bash
chmod a-x /path/to/executable # 阻止执行权限
iptables -I INPUT -p tcp --dport numberin_question!
其实,-j DROP # 防火墙阻断访问
Q: 常规维护建议?话说回来,
bash
sudo ss -tnlp> /var/log/listeningports.log && \
sudo lsof +c> /var/log/openfiles.log && \
diff lastreport.txt currentreport.txt>> changes.log
Q: 被删除二进制文件的僵尸进程怎么办?
bash
ps auxwwwwwwwwwww|grep deleted|grep port_number|awk '{print $2}'|while read pid;do kill $pid;老实说,done
+++++ 辅助工具集.md.html.md
常见问题快速解答
Q: 查到异常占用如何处理?说起来,
bash
kill $ # 软终止方式推荐
killall
Q: 未授权服务如何处理?
bash
chmod a-x /path/to/executable # 阻止执行权限
iptables -I INPUT -p tcp --dport
Q: 常规维护建议?话说回来,
bash
sudo ss -tnlp> /var/log/listeningports.log && \ sudo lsof +c> /var/log/openfiles.log && \ diff lastreport.txt currentreport.txt>> changes.log
Q: 被删除二进制文件的僵尸进程怎么办?
bash ps auxwwwwwwwwwww|grep deleted|grep port_number|awk '{print $2}'|while read pid;do kill $pid;老实说,done
+++++ 辅助工具集.md.html.md

