linux下解决端口占用问题

端口占用的概念

  • 端口是计算机网络中用于区分不同应用程序或服务的数字标识。在网络通信中,当一个程序(如服务器程序)绑定到一个特定端口并开始监听该端口时,这个端口就被占用了。例如,Web服务器通常会监听80端口(用于HTTP协议)和443端口(用于HTTPS协议),当Web服务器启动后,这些端口就处于占用状态。
  • 端口号的范围是从0到65535。其中,0 - 1023是公认端口,这些端口被分配给一些众所周知的服务,如21端口用于FTP服务、22端口用于SSH服务、23端口用于Telnet服务等。1024 - 49151是注册端口,通常用于用户自定义的应用程序或服务。49152 - 65535是动态或私有端口,这些端口可以被应用程序临时使用。

查看端口占用情况

  • 使用netstat命令(在大多数Linux系统中可用)
    • netstat -tln:用于查看当前系统正在监听(l)的TCP(t)端口信息。例如,命令输出可能如下:
Active Internet connections (only servers)
Proto Recv - Q Send - Q Local Address           Foreign Address         State
tcp        0        0 0.0.0.0:22               0.0.0.0:*               LISTEN
tcp        0        0 127.0.0.1:631            0.0.0.0:*               LISTEN
tcp6       0        0 :::80                    :::*                    LISTEN

这表示系统正在监听22端口(可能是SSH服务)、631端口(可能是CUPS打印服务)和80端口(可能是Web服务)。其中0.0.0.0表示所有可用的网络接口,127.0.0.1表示本地回环接口,:::表示IPv6的所有网络接口。
- netstat -tlnp:除了显示监听端口信息外,还会显示占用端口的进程ID(p)和进程名称。例如:

Active Internet connections (only servers)
Proto Recv - Q Send - Q Local Address           Foreign Address         State       PID/Program name
tcp        0        0 0.0.0.0:22               0.0.0.0:*               LISTEN      1234/sshd
tcp        0        0 127.0.0.1:631            0.0.0.0:*               LISTEN      5678/cupsd
tcp6       0        0 :::80                    :::*                    LISTEN      9101/nginx

这里可以看到占用22端口的是sshd进程(进程ID为1234),占用631端口的是cupsd进程(进程ID为5678),占用80端口的是nginx进程(进程ID为9101)。

  • 使用lsof命令(在大多数Linux和Unix系统中可用)
    • lsof -i:80:用于查看占用80端口的进程信息。输出可能如下:
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx    9101   root    6u  IPv4  12345      0t0  TCP *:80 (LISTEN)

这表示nginx进程(PID为9101)占用了80端口,FD列表示文件描述符(这里是6),TYPE列表示连接类型(这里是IPv4),DEVICE列是设备相关信息,SIZE/OFF列是文件大小或偏移量相关信息,NODE列是节点相关信息,NAME列是网络连接名称(这里是TCP *:80 (LISTEN)表示TCP协议,监听80端口)。

解决端口占用问题

  • 更改冲突程序的端口设置
    如果发现两个程序占用了相同的端口,并且可以修改其中一个程序的端口设置,那么可以通过修改配置文件来解决。例如,对于一个简单的Python Web服务器程序,如果它默认监听8000端口,但这个端口已经被占用,可以修改程序代码或者配置文件,将其监听端口改为其他未被占用的端口,如8080端口。
  • 终止占用端口的进程(谨慎使用)
    如果确定某个进程不应该占用特定端口(比如是一个已经停止使用的旧服务留下的进程),可以通过终止该进程来释放端口。在Linux系统中,如果知道占用端口的进程ID(通过netstat -tlnplsof -i命令获取),可以使用kill命令来终止进程。例如,如果进程ID是1234,使用kill 1234来发送终止信号给该进程。如果进程没有响应正常的kill信号,可以使用kill -9 1234-9表示强制终止),但这种方式可能会导致进程没有机会进行清理操作,有可能丢失数据,所以要谨慎使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/17795.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

网络工程实验三:DHCP的配置

#实验仅供参考,勿直接粘贴复制,用以学习交流# #对于软件的使用,请移步到实验一观看# 1、实验目的: (1)掌握DHCP工作原理。 (2)配置路由器作为DHCP服务器。 (3&#x…

手写体识别Tensorflow实现

简介:本文先讲解了手写体识别中涉及到的知识,然后分步讲解了代码的详细思路,完成了手写体识别案例的讲解,希望能给大家带来帮助,也希望大家多多关注我。本文是基于TensorFlow1.14.0的环境下运行的 手写体识别Tensorflo…

【SpringBoot】公共字段自动填充

问题引入 JavaEE开发的时候,新增字段,修改字段大都会涉及到创建时间(createTime),更改时间(updateTime),创建人(craeteUser),更改人(updateUser),如果每次都要自己去setter(),会比较麻烦&#…

【项目开发】为什么文件名要小写?

未经许可,不得转载。 文章目录 一、可移植性二、易读性三、易用性四、便捷性一、可移植性 Linux 系统对文件名大小写敏感,而 Windows 和 Mac 系统则不敏感。这种差异可能导致跨平台的问题。 例如,以下四个文件名: computerComPutercomPuterCOMPOTer在 Linux 系统上,它们…

ssm127基于SSM的乡镇篮球队管理系统+jsp(论文+源码)_kaic

毕 业 设 计(论 文) 题目:乡镇篮球队管理系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本乡镇篮球队管理…

C#获取视频第一帧_腾讯云媒体处理获取视频第一帧

一、 使用步骤: 第一步、腾讯云开启万象 第二步、安装Tencent.QCloud.Cos.Sdk 包 第三步、修改 腾讯云配置 图片存储目录配置 第四步、执行获取图片并保存 二、封装代码 using System.Text; using System.Threading.Tasks;using COSXML.Model.CI; using COSXML.A…

【数据分享】2003-2022年各省土地利用面积统计数据

数据介绍 2003-2022年各省土地利用面积统计数据数据时间2003-2008、2013、2015-2017、2019、2022数据类型excel数据指标土地调查面积/万公顷农用地面积/万公顷园林面积/万公顷牧草地面积/万公顷建设用地面积/万公顷居民点及工矿用地/万公顷交通用地/万公顷水利设施用地/万公顷…

任务调度工具Spring Test

Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。 作用:定时自动执行某段Java代码 应用场景: 信用卡每月还款提醒 银行贷款每月还款提醒 火车票售票系统处理未支付订单 入职纪念日为用户发送通知 一.…

20 轮转数组

20 轮转数组 20.1 轮转数组解决方案 class Solution { public:void rotate(vector<int>& nums, int k) {int n nums.size();k k % n; // 如果 k 大于数组长度&#xff0c;取模减少不必要的旋转// 第一步&#xff1a;反转整个数组reverse(nums.begin(), nums.end(…

字符串相关题解

目录 字母异位词 最长公共前缀 博主主页&#xff1a;东洛的克莱斯韦克-CSDN博客 字母异位词 49. 字母异位词分组 - 力扣&#xff08;LeetCode&#xff09; 这道题更像一道语法题&#xff0c;考察对容器的掌握情况。如果按题目要求去模拟&#xff0c;不仅要分析每个字符串&am…

【微软:多模态基础模型】(3)视觉生成

欢迎关注【youcans的AGI学习笔记】原创作品 【微软&#xff1a;多模态基础模型】&#xff08;1&#xff09;从专家到通用助手 【微软&#xff1a;多模态基础模型】&#xff08;2&#xff09;视觉理解 【微软&#xff1a;多模态基础模型】&#xff08;3&#xff09;视觉生成 【微…

CentOS8 启动错误,enter emergency mode ,开机直接进入紧急救援模式,报错 Failed to mount /home 解决方法

先看现场问题截图&#xff1a; 1.根据提示 按 ctrld 输入 root 密码&#xff0c;进入系统。 2. 在紧急模式下运行&#xff1a;journalctl -xe &#xff0c;查看相关日志&#xff0c;找到关键点&#xff1a; Failed to mount /home 3.接着执行修复命令&#xff1a; xfs_repa…

2024140读书笔记|《作家榜名著:生如夏花·泰戈尔经典诗选》——你从世界的生命的溪流浮泛而下,终于停泊在我的心头

2024140读书笔记|《作家榜名著&#xff1a;生如夏花泰戈尔经典诗选》——你从世界的生命的溪流浮泛而下&#xff0c;终于停泊在我的心头 《作家榜名著&#xff1a;生如夏花泰戈尔经典诗选》[印]泰戈尔&#xff0c;郑振铎译&#xff0c;泰戈尔的诗有的清丽&#xff0c;有的童真&…

lenovo联想ThinkBook 14 G5 ABP(21JE)原装出厂Windows11系统恢复镜像包下载

适用机型 &#xff1a;【21JE】 链接&#xff1a;https://pan.baidu.com/s/1FUjwN8ZeaQ9qr3kNalSkYg?pwdqasf 提取码&#xff1a;qasf 联想原装出厂系统自带所有驱动、出厂主题壁纸、系统属性联机支持标志、系统属性专属LOGO标志、Office办公软件、联想电脑管家、联想浏览…

MySQL 数据类型

数值类型 int类型 类型说明tinyint1字节&#xff0c;范围从-128到127&#xff08;有符号&#xff09;&#xff0c;0到255&#xff08;无符号&#xff09;smallint2字节&#xff0c;范围从-2^15到2^15-1&#xff08;有符号&#xff09;&#xff0c;0到2^16-1&#xff08;无符号…

【WPF】Prism学习(三)

Prism Commands 1.复合命令&#xff08;Composite Commanding&#xff09; 这段内容主要介绍了在应用程序中如何使用复合命令&#xff08;Composite Commands&#xff09;来实现多个视图模型&#xff08;ViewModels&#xff09;上的命令。以下是对这段内容的解释&#xff1a; …

用go语言后端开发速查

文章目录 一、发送请求和接收请求示例1.1 发送请求1.2 接收请求 二、发送form-data格式的数据示例 用go语言发送请求和接收请求的快速参考 一、发送请求和接收请求示例 1.1 发送请求 package mainimport ("bytes""encoding/json""fmt""ne…

SpringCloud Alibaba入门简介和Nacos服务注册和配置中心

前面已经把spring cloud相关的组件都一一学了个遍,现在有点小佩服自己…本来计划今天周末好好出去玩一圈,天气太热了,39了都,还是在办公室学习吧,进行下面的springCloud Alibaba 学习吧…不废话了赶快进入正体 1. SpringCloud Alibaba入门简介 1.1 why会出现SpringCloud alib…

如何让Excel公式中的参数实现动态引用

如果你想成为Excel函数高手&#xff0c;仅仅掌握VLOOKUP和Countif等函数是远远不够的&#xff0c;起码你得学会使用INDIRECT函数&#xff0c;熟练掌握INDIRECT函数能让你从一个初学者晋级为高手&#xff0c;学会它就好比孙悟空掌握了72般变化的基本功&#xff0c;你说厉不厉害。…

【流量分析】常见webshell流量分析

免责声明&#xff1a;本文仅作分享&#xff01; 对于常见的webshell工具&#xff0c;就要知攻善防&#xff1b;后门脚本的执行导致webshell的连接&#xff0c;对于默认的脚本要了解&#xff0c;才能更清晰&#xff0c;更方便应对。 &#xff08;这里仅针对部分后门代码进行流量…