Linux命令之杀掉被占用的端口号

2023-11-07

前言

  • 场景介绍

    项目启动失败或者启动成功访问报404,很可能是访问端口被占用导致,记录一下杀死被占用端口的常用命令,共同学习

实现过程

方案1

  • 查找被占用的端口号

    
        netstat -tln | grep 8081
    
        netstat  -anp  | grep  8081  # 显示正在使用Socket的程序识别码和程序名称
    
    
    

    查找被占用的端口

    如图,最后一列监控状态为 LISTEN 表示已经被占用

    此处注意,图中显示的LISTENING并不表示端口被占用,不要和LISTEN混淆,查看具体端口时候,必须要看到tcp,端口号,LISTEN那一行,才表示端口被占用了

  • 查找被占用的端口PID

    以普通用户操作,故加上了sudo,如果是以root用户操作,不用加sudo即可查看

    
        sudo lsof -i:8081
    
    
    

    查找被占用端口的PID

  • kill对应进程

    
        kill -9 29686
    
    

方案2

  • 一个命令关闭某个端口占用

    	 # 这个命令亲测不好使,欢迎解答原因
        kill netstat -nlp | grep :端口号| awk '{print $7}' | awk -F"/" '{ print $1 }' 
    
    
    

命令详解

ps

  • 选项介绍

    -A 显示所有进程(等价于-e)(utility)
    -a 显示一个终端的所有进程,除了会话引线
    -N 忽略选择。
    -d 显示所有进程,但省略所有的会话引线(utility)
    -x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用。(utility)
    -p pid 进程使用cpu的时间
    -u uid or username 选择有效的用户id或者是用户名
    -g gid or groupname 显示组的所有进程。
    U username 显示该用户下的所有进程,且显示各个命令的详细路径。如:ps U zhang;(utility)
    -f 全部列出,通常和其他选项联用。如:ps -fa or ps -fx and so on.
    -l 长格式(有F,wchan,C 等字段)
    -j 作业格式
    -o 用户自定义格式。
    v 以虚拟存储器格式显示
    s 以信号格式显示
    -m 显示所有的线程
    -H 显示进程的层次(和其它的命令合用,如:ps -Ha)(utility)
    e 命令之后显示环境(如:ps -d e; ps -a e)(utility)
    h 不显示第一行

  • 常用指令

    
    
        ps -ef | grep tomcat    # ps 与grep 常用组合用法,查找特定进程,连同命令行
    
        ps -aux | grep tomcat
    
    

netstat

  • 选项介绍

    -a或–all:显示所有连线中的Socket
    -A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;
    -c或–continuous:持续列出网络状态;
    -C或–cache:显示路由器配置的快取信息;
    -e或–extend:显示网络其他相关信息;
    -F或–fib:显示FIB;
    -g或–groups:显示多重广播功能群组组员名单;
    -h或–help:在线帮助;
    -i或–interfaces:显示网络界面信息表单;
    -l或–listening:显示监控中的服务器的Socket
    -M或–masquerade:显示伪装的网络连线;
    -n或–numeric:直接使用ip地址,而不通过域名服务器
    -N或–netlink或–symbolic:显示网络硬件外围设备的符号连接名称;
    -o或–timers:显示计时器;
    -p或–programs:显示正在使用Socket的程序识别码和程序名称
    -r或–route:显示Routing Table;
    -s或–statistice:显示网络工作信息统计表;
    -t或–tcp:显示TCP传输协议的连线状况
    -u或–udp:显示UDP传输协议的连线状况;
    -v或–verbose:显示指令执行过程;
    -V或–version:显示版本信息;
    -w或–raw:显示RAW传输协议的连线状况;
    -x或–unix:此参数的效果和指定"-A unix"参数相同;
    –ip或–inet:此参数的效果和指定"-A inet"参数相同。

  • 常用指令

    
    
        netstat -at              # 列出所有TCP端口
        netstat -lt              # 显示监听TCP端口
        netstat -st              # 显示所有TCP的统计信息
        netstat -p               # 显示 PID 和进程名称
        netstat -r               # 路由信息
        netstat -antp | grep ssh # 查看服务
        netstat -antp | grep 22  # 查看端口  n 显示ip p显示程序
    
    
    
    

lsof

  • 选项介绍

    lsof filename 显示打开指定文件的所有进程
    lsof -a 表示两个参数都必须满足时才显示结果
    lsof -c string 显示COMMAND列中包含指定字符的进程所有打开的文件
    lsof -u username 显示所属user进程打开的文件
    lsof -g gid 显示归属gid的进程情况
    lsof +d /DIR/ 显示目录下被进程打开的文件
    lsof +D /DIR/ 同上,但是会搜索目录下的所有目录,时间相对较长
    lsof -d FD 显示指定文件描述符的进程
    lsof -n 不将IP转换为hostname,缺省是不加上-n参数
    lsof -i 用以显示符合条件的进程情况

    lsof -i46@hostname|hostaddr
    46 –> IPv4 or IPv6
    protocol –> TCP or UDP
    hostname –> Internet host name
    hostaddr –> IPv4地址
    service –> /etc/service中的 service name (可以不只一个)
    port –> 端口号 (可以不只一个)

  • 常用指令

    
        lsof -i:4000  # 查看所属root用户进程所打开的文件类型为txt的文件:
    
    
    
    

参考链接

  • Linux 如何kill杀死(关闭)某个被占用的端口

    https://blog.csdn.net/qq_39213969/article/details/103857714

  • LINUX中如何查看某个端口是否被占用

    https://www.cnblogs.com/hindy/p/7249234.html

  • ps 命令详解

    https://blog.csdn.net/freeking101/article/details/53444530

  • inux系统下ps -aux和ps -ef命令参数的作用及区别详解

    https://cloud.tencent.com/developer/article/1357618

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux命令之杀掉被占用的端口号 的相关文章

随机推荐

  • python主流web框架识别

    想学习web框架 又想熟悉python 问题来了 有没有极简的数据来支撑快速开发 特来研究 不能去研究几十个 没时间 研究主流的即可 Django Tornado Flask Twisted 所谓网络框架是指这样的一组Python包 它能够
  • 树组件根节点+叶节点渲染

    本人使用的是eleme的树组件进行的数据渲染 Element The world s most popular Vue UI frameworkElement 一套为开发者 设计师和产品经理准备的基于 Vue 2 0 的桌面端组件库http
  • 进阶题解:反转链表

    入门级题解 https blog csdn net m0 46663240 article details 122602996 一刷代码随想录 再次遇到这个反转链表 当时可是难到我了 现在做还是比较轻松的 思路及关键点 1 有两部分 一部分
  • ROS入门四 服务中的Server和Client

    服务中的Server和Client 简介 使用 spawn服务写一个客户端程序创建一只新海龟 服务模型 创建turtle spawn cpp 配置CMakeLists txt中的编译规则 编译并运行 总结流程 创建一个服务接受client消
  • 数学建模——仓内拣货优化问题

    仓内拣货优化问题 求解 某电商公司客户订单下达仓库后 商品开始下架出库 出库主要包含5 个流程如图1所示 定位 仓库有多个货架 每个货架有多个货格 商品摆放在货格中 且每个货格最多摆放一种商品 商品可以摆放在多个货格 订单下达仓库后 定位操
  • springboot有关type-aliases-package设置,xml别名爆红错误

    在application yaml中设置 mybatis mapperLocations classpath mapper xml type aliases package com chan springcloud entities 但xm
  • 【CSS】动态背景1

    效果 代码
  • 利用Vulnhub复现漏洞 - mini_httpd任意文件读取漏洞(CVE-2018-18778)

    mini httpd任意文件读取漏洞 CVE 2018 18778 Vulnhub官方复现教程 漏洞原理 复现过程 启动环境 端口设置 浏览器设置 BurpSuit设置 漏洞复现 Vulnhub官方复现教程 https vulhub org
  • 【目录贴】硕士实验室嵌入式学习路线参考清单

    下面是对我在硕士期间边学边实践所写的部分文章 挑选整理出一个 学习清单 其实我写到目前为止 如果你看进去了这些东西 可以说各种东西达到了熟悉 熟练的状态 可不敢说精通 面试官会出手 如果看到这篇路线总结 无论你是本科还是硕士 你也别太感觉东
  • TCP的半关闭状态以及tcp-keepalive

    文章目录 半关闭状态 实现方法 tcp keepalive 开启 tcp keepalive 方法1 Linux系统全局开启 方法2 setsockopt 设置 socket 半关闭状态 一次TCP四次挥手的过程如上图所示 设左侧为客户端
  • elasticsearch 去重查询并进行分页

    去重查询的俩种方式 在进行去重查询时 原来的目的是对于查询出的结果中一模一样的数据进行去重 但是各种百度发现都是对于单一字段的去重查询 最后索性新增了一个字段 将其他字段拼接了起来 从而根据拼接的字段进行去重查询 1 使用字段聚合 top
  • windows:windows10 下如何让程序被 Cortana搜索到

    参考 https blog csdn net qq 26462567 article details 101011871 总结 添加快捷方式到开始菜单目录
  • 测试框架pytest教程(5)运行失败用例-rerun failed tests

    content of test 50 py import pytest pytest mark parametrize i range 50 def test num i if i in 17 25 pytest fail bad luck
  • 八度音阶和频率的关

    八度音阶和频率的关系 Frequency in hertz semitones above or below middle C Octave Note 0 1 2 3 4 5 6 7 8 9 C 16 352 48 32 703 36 65
  • Qt 常用的字符转换,QString如何转换成const char类型, 转 PWCHAR wchar_t*

    常用的字符转换 日常记录 QString如何转换成const char类型 const char cmd data qstring toStdString c str qstring为待转换的qstring类型字符串 QString for
  • redis主从复制和哨兵模式

    redisi主从和哨兵模式 主从复制概扩及原理 redisi主从复制模式 redis哨兵原理 redis哨兵模式 主从复制概扩及原理 Redis主从复制是指将一个Redis实例 即主库 的数据复制到其他Redis实例 即从库 的过程 主节点
  • 一分钟了解HTTP和HTTPS协议

    很多人存在这样的疑惑就是http与https的区别 这篇文章就跟大家介绍一下 一句话总结HTTPS是身披SSL外壳的HTTP HTTPS更安全 实际使用中绝大多数的网站现在都采用的是HTTPS协议 这也是未来互联网发展的趋势 什么是协议 网
  • vue+elementui封装select-tree下拉树【单选

    组件代码
  • 鸟类识别扫一扫,AI识鸟一拍就知道鸟类信息

    随着工业化的发展 森林 湿地等生态系统逐步被开发 如何保护鸟类日益成为人们关注的话题 针对自然保护地鸟类监测面临的种类繁多 相似度高 活动范围大等痛点 快瞳科技研发上线的鸟类识别算法便致力于解决以上痛点 借助AI赋能助力生物多样性保护 快瞳
  • Linux命令之杀掉被占用的端口号

    前言 场景介绍 项目启动失败或者启动成功访问报404 很可能是访问端口被占用导致 记录一下杀死被占用端口的常用命令 共同学习 实现过程 方案1 查找被占用的端口号 netstat tln grep 8081 netstat anp grep