前言

  • 场景介绍

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

实现过程

方案1

  • 查找被占用的端口号

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

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

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

  • 查找被占用的端口PID

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

    sudo lsof -i:8081

  • 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

Linux命令之杀掉被占用的端口号相关推荐

  1. linux:进程占用的端口,在linux中查看进程占用的端口号

    在Linux 上的 /etc/services 文件可以查看到更多关于保留端口的信息. 可以使用以下六种方法查看端口信息. ss:可以用于转储套接字统计信息. netstat:可以显示打开的套接字列表 ...

  2. liunx下查看tomcat占用的端口号

    首先查看tomcat占用的进程号: ps -ef|grep tomcat 然后根据进程号,查看进程所占用的端口号: netstat -apn

  3. Mac OS/Linux命令查询网络端口占用情况

    2019独角兽企业重金招聘Python工程师标准>>> netstat命令 netstat -an | grep <port> <port> 为端口号 例子: ...

  4. Linux 查看tomcat占用的端口号

    第一步:先查看tomcat占用的进程号 ps -ef|grep tomcat 第二步:根据进程号,查看进程所占用的端口 netstat -apn 由此得知,tomcat的进程号是21845,并得到端口 ...

  5. linux 修改git端口号,linux安装gitlab并修改gitlab默认端口号

    安装系统 centos 6.5 官网安装地址:https://about.gitlab.com/install/#centos-6 可以先根据官网安装步骤进行安装. 分别执行以下命令: 1.打开htt ...

  6. linux svn 指定端口号,linux(Ubuntu)搭建Subversion服务器+修改svn端口号

    一.搭建 Subversion 服务器 1.首先需要安装 subversion 这个软件: sudo apt-get install subversion 注:使用apt-get安装软件,ubuntu ...

  7. linux centos 7.6修改ssh默认端口号

    1.端口号的概念:众所周知,现在计算机主流的通信协议是TCP/IP四层协议,而传输层就位于三层:传输层提供了面向连接的可靠性传输(TCP)和面向无连接的不可靠传输(UDP):传输层之间的传递靠的就是端 ...

  8. Linux 小知识翻译 - 「端口和端口号」

    这次说说「端口」和「端口号」. 平时经常会听人说「打开了80号端口」,为了安全「不要打开多余的端口」等等.那么,这里的端口或者端口号是什么呢? 首先,「端口」是TCP或者UDP上使用的概念,经常被比喻 ...

  9. Linux 命令 之查看程序占用内存

    2019独角兽企业重金招聘Python工程师标准>>> 查看PID ps aux | grep nginx root      3531  0.0  0.0  18404   832 ...

  10. mySQL端口号3306被占用_mysql端口号3306被占用解决

    在启动应用程序时发现需要的端口已经被占用,启动失败,怎么才能查看是那个应用程序占用了该端口?可以在命令符下用netstat查看: netstat -a -n 显示各个端口占用 netstat -ano ...

最新文章

  1. 有无目标的人生差10倍!赶紧和娃把新年计划做起来
  2. easyExcel 读取数据为空的一次报错记录
  3. 随机数据的构造与使用
  4. redis5种数据结构讲解及使用场景
  5. leetcode57. 插入区间
  6. 在web.config里注册HttpModule
  7. (43)Xilinx RAM IP核配置(四)(第9天)
  8. Linux eBPF和XDP高速处理数据包;使用EBPF编写XDP网络过滤器;高性能ACL
  9. 长短期记忆网络_科研成果快报第181期:改进的长短期记忆网络用于长江上游干支流径流预测...
  10. linux UID的长度,linux下文件数、目录数、文件名长度的各种限制
  11. JAVA new URL引起死机一例
  12. 常见的80道面试算法题
  13. 如何实现基于Electron的截图识字App(一)
  14. Android各控件绚丽Dome下载
  15. iphone11系列的尺寸_iPhone 11、11 Pro、11 Pro Max vs iPhone XR、XS、XsMax比较
  16. 电磁场与电磁波 试题含答案
  17. 田刚:庞加莱猜想与几何
  18. 报错:Ncat: bind to :::9999: Address already in use. QUITTING.
  19. 4135: [FJOI2015]世界树
  20. python报错(一):takes no arguments

热门文章

  1. 关于DEP(数据执行保护)的分析
  2. ziheng -接小球游戏
  3. dlna投屏html源码,DLNA(一)
  4. DNS污染攻击详细教程
  5. 基于SSM+MySQL实现的酒店管理系统
  6. np.delete详解
  7. FPGA Vivado AXI _DMA IP介绍
  8. 软件生命周期是什么?
  9. Amlogic Linux系列(四) 视频解码分析2
  10. 浅谈Android支付宝快捷支付