一、前言

Mac OS/Linux 启用一些服务的时候,如果非正常退出,再次启动经常会遇到 address already in use,端口被先前启动的服务进程所占用,导致服务无法使用。

这种情况,可以注销或重启(注销不一定有用),或在终端中查找占用端口的进程并杀死,然后重启服务。

二、如何查看端口占用情况?

查看端口的命令有netstat、lsof等。

2.1. netstat命令

netstat -an | grep 端口号

注意:

OS X 的 netstat 不能查看使用端口的PID/程序名(linux可以),建议使用lsof命令代替。

2.2. lsof命令

lsof(list open files)是一个列出当前系统打开文件的工具。

常用命令:

1. 查看指定端口占用情况:

sudo lsof -nP -iTCP:端口号 -sTCP:LISTEN

2. 查看所有进程监听的端口:

sudo lsof -nP -iTCP -sTCP:LISTEN

3. 查看所有java进程监听的端口:

sudo lsof -nP -iTCP -sTCP:LISTEN | grep java

结果如下:

java 45380 vision 140u IPv6 0x907f281d0aff1577 0t0 TCP *:53761 (LISTEN)

java 45380 vision 141u IPv6 0x907f281d12df9037 0t0 TCP *:53759 (LISTEN)

java 45380 vision 147u IPv6 0x907f281d1127f597 0t0 TCP *:53762 (LISTEN)

java 45380 vision 154u IPv6 0x907f281d112e2597 0t0 TCP *:8761 (LISTEN)

java 45382 vision 159u IPv6 0x907f281d16a36577 0t0 TCP *:53774 (LISTEN)

java 45382 vision 160u IPv6 0x907f281d16a36017 0t0 TCP *:53772 (LISTEN)

java 45382 vision 166u IPv6 0x907f281d14c7b557 0t0 TCP *:53775 (LISTEN)

java 45382 vision 184u IPv6 0x907f281d16a73fd7 0t0 TCP *:8081 (LISTEN)

4. 输出占用该端口的 PID:

lsof -nP -iTCP:端口号 |grep LISTEN|awk '{print $2;}'

lsof命令会同时列出PID,方便kill。

n 表示不显示主机名

P 表示不显示端口俗称

不加 sudo 只能查看以当前用户运行的程序

三. kill进程

杀掉指定进程

找到进程的PID,使用kill命令:

kill -9 PID

杀掉所有java进程:

kill -9 $(sudo lsof -nP -iTCP -sTCP:LISTEN | grep java | awk '{print $2}')

Linux系统kill端口占用简书,MAC/Linux解决端口占用相关推荐

  1. linux系统怎么设置硬链接,二、Linux系统硬链接和软链接详细介绍与实践

    链接的概念 在linux系统中,链接可分为两种:一种被称为硬链接(Hard LinK),另一种被称为软链接或符号链接(Symbolic Link).在默认不带参数的情况下,执行ln命令创建的链接是硬链 ...

  2. Linux系统详解 第五篇:Linux的安装-4:Fedora 16的安装

    Linux系统详解 第五篇:Linux的安装-4:Fedora 16的安装 前言: 本系列文章取材广泛,有来自于互联网的,有来自教科书的,有来自自己的笔记的,也有来自自己对Linux的经验积累的.此系 ...

  3. Linux系统运维与架构设计之Linux概述

    Linux系统运维与架构设计之Linux概述 Linux系统运维与架构设计 1.1 浅谈计算机系统 1.1.1 计算机硬件系统 现代计算机是基于冯·诺依曼体系结构,由运算器.控制器.存储器.输入设备. ...

  4. linux系统线程通信的几种方式,Linux进程间通信-线程间通信

    Linux作为一种新兴的操作系统,几乎支持所有的Unix下常用的进程间通信方法:管道.消息队列.共享内存.信号量.套接口. 1.管道 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动 ...

  5. linux删除panel命令,Linux系统删除gnome panel上的图标的解决方法(图)

    原标题:"Linux系统删除gnome panel上的图标的解决方法"相关电脑问题教程分享. - 来源:191路由网. 众所周知,Linux系统的gnome panel的功能实际上 ...

  6. linux 文件和打印机共享文件夹,能实现Windows和Linux系统之间文件和打印机共享的Linux服务是( )...

    能实现Windows和Linux系统之间文件和打印机共享的Linux服务是( ) 答:SAMBA HTML 代 码 表示() 答:创建一个单选框 根据凯恩思的理论,在短期中总供给线为一条水平线,当总需 ...

  7. 61-20210407华为海思Hi3516DV300的linux系统下控制GPIO口(标准linux模式点亮LED灯)

    61-20210407华为海思Hi3516DV300的linux系统下控制GPIO口(标准linux模式点亮LED灯) 2021/4/7 15:13 https://xueqiu.com/797071 ...

  8. linux系统gcc编译.c文件没有标准库解决

    linux系统gcc编译.c文件没有标准库解决 现象描述 解决过程 总结 现象描述 当安装好linux系统后(比如ubuntu),通过gcc -v 查看gcc编译器版本已经是最新的了,然后gcc a. ...

  9. linux系统vim下输入回车换行符号的解决方法

    linux系统vim下输入回车换行符号的解决方法 遇到问题 vim再linux 下回车后符号为'\r', 而不是我们想要的像windows下为'\r\n' 怎么解决呢?解决方法如下: 1. linux ...

  10. linux 系统kill用法

    Linux下Kill函数用法 (2014-06-24 18:13:17) 转载▼ 标签: linux kill函数 分类: Linux-ALL Linux下Kill函数用法[ KILL ]功能描述: ...

最新文章

  1. 完美解答35K月薪的MySQL面试题(一)MySQL是如何存储数据的
  2. tez什么意思_传统数仓和大数据数仓的区别是什么?
  3. pv,svogi,vxgi,各自的优缺点在哪,ue4还有可能把svogi加进去吗
  4. php pdo 显示二进制,php – 在MySQL PDO中显示警告
  5. SQL Server数据库的导出
  6. Cut Curve randomly
  7. 王建宙称乔布斯故意展开TD-LTE版iPhone
  8. emc测试e3软件系数导入,EMC测试标准
  9. 金万维异速联客户端 盛装入驻苹果应用商店
  10. VS2010 SP1 编译QT4.8.0 x64版本
  11. java源文件结构_Java源文件结构详解
  12. 计算机指令集类型,指令集分类 (CISC,RISC和VLIW等)
  13. 塞班(Symbian)开源了(包括Symbian 3和S60等)
  14. 【lphtw】第三弹笔记ex24-ex35
  15. Laravel Excel导出xls乱码
  16. 数字标签转化为one-hot形式的tensor
  17. 搜索效果和搜索动画效果
  18. 《左耳听风》-ARTS-打卡记录-第九周
  19. 水瓶座 水瓶座的男人
  20. 打卡记录根据排班表每人每日排班上下班时间自动获取结果打卡记录是属于那是区间

热门文章

  1. ip查询js获取页面属性
  2. 目标检测回归损失函数总结
  3. 超详细的计算机视觉竞赛汇总
  4. 机器学习深度学习面试宝典-深度学习500问
  5. 深度学习中常用的数据集
  6. Apple 官方文档翻译:NSURLSession
  7. 复制集结合分片架构搭建以及监控
  8. mariadb配置允许远程访问方式
  9. Linux环境编程之文件I/O(二):文件的打开与关闭
  10. 知识图谱中的结构信息建模