Ubuntu 系统端口查询与管理详细分析
目录
- 前言
- 1. 查询端口占用情况
- 2. 释放占用的端口
- 3. 修改应用程序的端口
前言
Window的端口被占用,类似的知识点:重装mysql时3306端口被占用解决方法
事情起因是宝塔的CPU负载过大,重启服务进程之后还是爆,后续发现是端口被占用,导致服务重启不起来!
对应需要kill相关进程的端口即可,对此补充相关知识
1. 查询端口占用情况
使用 lsof 命令查询端口占用
lsof(list open files)是一个强大的工具,用来列出系统中打开的文件,包括网络连接、端口等
查询特定端口(例如 48080)被哪个进程占用:sudo lsof -i :48080
参数 | 描述 |
---|---|
COMMAND | 进程名(例如 nginx、java) |
PID | 进程的ID(进程标识符) |
USER | 进程的拥有者 |
FD | 文件描述符(表示文件类型和打开模式) |
TYPE | 连接类型(IPv4、IPv6) |
DEVICE、SIZE/OFF、NODE | 网络连接的详细信息 |
NAME | 端口或IP地址信息 |
示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2081361 www 6u IPv6 842221658 0t0 TCP localhost:48080->localhost:49738 (CLOSE_WAIT)
java 2081361 www 21u IPv6 842220852 0t0 TCP localhost:48080->localhost:47856 (CLOSE_WAIT)
java 2081361 www 194u IPv6 841638236 0t0 TCP *:48080 (LISTEN)
此命令代表java 进程(PID:2081361)正在监听端口 48080
使用 netstat 命令查询端口占用
netstat(network statistics)命令可以用来显示网络连接、路由表、接口统计信息等
要查看所有占用端口的进程:sudo netstat -tuln
参数 | 描述 |
---|---|
Proto | 协议(TCP或UDP) |
Recv-Q、Send-Q | 接收队列和发送队列的大小 |
Local Address | 本地地址和端口 |
Foreign Address | 远程地址和端口(对于监听中的端口为空) |
State | 连接状态(如 LISTEN 表示正在监听) |
PID/Program name | 进程ID和程序名称(需要-p选项) |
查看端口 48080 是否被占用:sudo netstat -tuln | grep :48080
示例输出:
tcp6 0 0 :::48080 :::* LISTEN
此命令代表48080 端口在系统中是监听状态
使用 ss 命令查询端口占用
ss(socket statistics)是一个比 netstat 更快速的工具,它可以用于查看网络连接、监听端口等信息
查看所有监听端口:sudo ss -tuln
查看特定端口:sudo ss -tuln | grep :48080
示例输出:
LISTEN 0 128 *:48080 *:*
这表示端口 48080 正在监听中
2. 释放占用的端口
确认端口被某个进程占用时,可以选择停止该进程或杀死该进程以释放端口
停止服务进程
确认是一个服务进程(如 nginx 或 apache)占用了端口,可以通过系统的服务管理工具停止该服务
sudo systemctl stop nginx
或者,如果是其他服务(比如 Tomcat 或 MySQL),可以使用类似的命令来停止它们
杀死占用端口的进程
希望直接杀死占用端口的进程(如 java 进程),可以使用 kill 命令
使用 lsof 或 netstat 找到占用端口的进程ID(PID)
假设PID是 2081361,可以通过以下命令停止它:sudo kill -9 2081361
-9 参数表示强制杀死该进程
3. 修改应用程序的端口
不希望停止其他进程,另一种解决方案是修改你正在运行的应用程序使用不同的端口
修改 Spring Boot 的端口
在Spring Boot应用中,可以修改 application.properties 或 application.yml 文件来设置新的端口
application.properties: server.port=8081
application.yml:
server:port: 8081
保存后重启Spring Boot应用,新的端口配置生效
修改其他应用程序的端口
对于其他应用程序(例如 Node.js、Tomcat、nginx 等),也可以在它们的配置文件中修改端口
相关文章:

Ubuntu 系统端口查询与管理详细分析
目录 前言1. 查询端口占用情况2. 释放占用的端口3. 修改应用程序的端口 前言 Window的端口被占用,类似的知识点:重装mysql时3306端口被占用解决方法 事情起因是宝塔的CPU负载过大,重启服务进程之后还是爆,后续发现是端口被占用&…...
Unity中使用StartCoroutine协程和Lerp方法,使GameObject缓慢移动
移动方法(传入需要移动的instance和目标位置) public Transform targetPosition; //目标位置 Vector3 target targetPosition.position;private IEnumerator MoveTowardsTarget(GameObject instance, Vector3 target){// 缓慢移动到目标的方法Vector3 …...
C++根据特定字符截取字符串
前言 在 C 中,如果根据特定字符进行字符串的截取,可以使用 std::string 类的成员函数 find() 来查找字符的位置,然后使用 substr() 来截取字符串。以下是一个示例,展示了如何根据指定字符截取字符串。 示例 #include <iostr…...

【How AI Works】读书笔记3 出发吧! AI纵览 第二部分
目录 1.说明 2.第二部分(P9~P10) 机器学习算法总结(监督学习) 3.单词 4.专业术语 1.说明 书全名:How AI Works From Sorcery to Science 作者 Ronald T.Kneusel 2.第二部分(P9~P10) 总结机器学习算法 作者把机器学习的过程比喻成输入-->黑盒-->输出 这里的标签可…...
No Module named pytorchvideo.losses问题解决
问题描述 最近在跑X3D的源码时发现,在conda powershell prompt中安装了pytorchvideo,但是仍然报错:No Module named pytorchvideo.losses 解决方案: 直接去https://gitcode.com/gh_mirrors/py/pytorchvideo/overview?utm_sour…...

Mac终端字体高亮、提示插件
一、安装配置“oh my zsh” 1.1 安装brew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 按照步骤安装即可,安装完成查看版本 brew -v 1.2 安装zsh brew install zsh 安装完成后查看版本 zsh --version 1.3 …...
Flowable 构建后端服务(后端以及数据库搭建) Flowable Modeler 设计器搭建(前端)
案例地址:xupengboo-flowable-example Flowable 构建后端服务(后端以及数据库搭建) 以 Spring Boot 项目为例: 引入 Flowable 必要依赖。 <!-- flowable 依赖 --> <dependency><groupId>org.flowable</gr…...

[Java]微服务拆分
导入项目 本篇及后续的微服务学习都是基于Centos7系统下的Docker部署,因此需要准备: Centos7的环境SSH客户端安装好Docker会使用Docker 之前的学习, 导致虚拟机中存在黑马商城项目以及mysql数据库, 为了保持一致, 需要删除 cd /rootdocker compose down 安装mysq…...
JavaScript逆向爬虫教程-------基础篇之JavaScript混淆原理
目录 一、常量的混淆原理1.1 对象属性的两种访问方式1.2 十六进制字符串1.3 Unicode字符串1.4 字符串的ASCII码混淆1.5 字符串常量加密1.6 数值常量加密二、增加 JS 逆向者的工作量2.1 数组混淆2.2 数组乱序2.3 花指令2.4 jsfuck三、代码执行流程的防护原理3.1 流程平坦化3.2 …...

qt移植到讯为rk3568,包含一些错误总结
qt移植到arm报错动态库找不到 error while loading shared libraries: libAlterManager.so.1: cannot open shared object file: No such file or directory 通过设置环境变量 LD_LIBRARY_PATH就行了。 LD_LIBRARY_PATH是一个用于指定动态链接器在运行时搜索共享库的路径的环…...

使用阿里云快速搭建 DataLight 平台
使用阿里云快速搭建 DataLight 平台 本篇文章由用户 “闫哥大数据” 分享,B 站账号:https://space.bilibili.com/357944741?spm_id_from333.999.0.0 注意:因每个人操作顺序可能略有区别,整个部署流程如果出现出入,以…...
ubuntu设置自启动
1. 把要启动的程序或者脚本(比如A.sh、A1)放在 /usr/sbin 目录中。比如我的 A.sh 只是启动 A1 程序: #!/bin/bash/usr/sbin/A1echo "A1 finish!!!" 需要注意的是,脚本和程序都要有可执行的权限才行 2. 在 /etc/systemd/system 目录中创建 .…...
Paddle分布式训练报NCCL错
应该是没有装NCCL,但是通过NVIDIA官网方式用apt安装报错,说nccl签名有问题 打开官网查找对应版本的nccl:https://developer.nvidia.com/nccl/nccl-legacy-downloads 这里不下载local Ubuntu选项,下载O/S agnostic local install…...

PD3.1快充对我们到底有没有必要?
在科技飞速发展的今天,各种智能设备和电子产品已经渗透到了我们生活的方方面面。随之而来的,是对充电速度和效率的不断追求。正是在这样的背景下,USB联盟于2021年6月发布了最新的快充协议——PD3.1。那么,PD3.1快充协议对我们到底…...

Android OpenGL ES详解——立方体贴图
目录 一、概念 二、如何使用 1、创建立方体贴图 2、生成纹理 3、设置纹理环绕和过滤方式 4、激活和绑定立方体贴图 三、应用举例——天空盒 1、概念 2、加载天空盒 3、显示天空盒 4、优化 四、应用举例——环境映射:反射 五、应用举例——环境映射:折射 六、应用…...

Bugku CTF_Web——字符?正则?
Bugku CTF_Web——字符?正则? 进入靶场 <?php highlight_file(2.php); $keyflag{********************************}; $IM preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $match); if…...
C# 中Math.Round 和 SQL Server中decimal(18,2) 不想等的问题
首先了解Math.Round方法的默认舍入规则 在C#中,Math.Round方法使用的是“银行家舍入法”(也叫四舍六入五成双)。这种舍入规则是:当要舍弃的数字小于5时直接舍去;当要舍弃的数字大于5时进位;当要舍弃的数字正…...
lab2:docker基础实战
一、实验目的 1.通过本次实验,完成Docker主机的安装和配置、镜像的搜索和下载、容器生命周期的基本管理、容器网络的管理。 2.通过Dockerfile来构建nginx镜像,了解Dockerfile镜像构建过程。 二、实验内容与实验要求 1.完成Docker的安装和配置。 2.完…...
Druid 1.2 源码导读
Druid 是阿里巴巴开源的数据库连接池和监控组件,广泛用于 Java 应用程序中。Druid 1.2 版本提供了高性能的连接池和丰富的监控功能。以下是对 Druid 1.2 源码的导读,帮助你理解其架构和设计。 1. 源码获取 从 GitHub 上获取 Druid 1.2 的源码ÿ…...
千益畅行,共享旅游卡市场乱象解析与未来展望
在当今旅游市场蓬勃发展的大背景下,共享旅游卡作为一种新兴的旅游消费模式,受到了广泛关注。然而,伴随着其快速发展,市场乱象也层出不穷。作为千益畅行共享旅游卡的全国运营总监,我深感有必要对这些问题进行深入剖析&a…...

Linux应用开发之网络套接字编程(实例篇)
服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...

UE5 音效系统
一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...

goreplay
1.github地址 https://github.com/buger/goreplay 2.简单介绍 GoReplay 是一个开源的网络监控工具,可以记录用户的实时流量并将其用于镜像、负载测试、监控和详细分析。 3.出现背景 随着应用程序的增长,测试它所需的工作量也会呈指数级增长。GoRepl…...
无需布线的革命:电力载波技术赋能楼宇自控系统-亚川科技
无需布线的革命:电力载波技术赋能楼宇自控系统 在楼宇自动化领域,传统控制系统依赖复杂的专用通信线路,不仅施工成本高昂,后期维护和扩展也极为不便。电力载波技术(PLC)的突破性应用,彻底改变了…...

vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能
vxe-table vue 表格复选框多选数据,实现快捷键 Shift 批量选择功能 查看官网:https://vxetable.cn 效果 代码 通过 checkbox-config.isShift 启用批量选中,启用后按住快捷键和鼠标批量选取 <template><div><vxe-grid v-bind"gri…...