前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 释放占用端口

Linux 释放占用端口

作者头像
柳公子
发布2018-09-17 16:51:24
11.1K0
发布2018-09-17 16:51:24
举报
文章被收录于专栏:PhpZendoPhpZendo

场景

在使用 Swoole 扩展库的 WebSocket 服务时,直接退出终端,但是 WebSocket 使用的端口依然坚挺的在被占用着。 导致再次启动 WebSocket 服务失败。

释放占用端口

释放端口,需要完成三步操作:

  1. 找到系统当前所有的端口
  2. 找到对应端口在系统中的进程 ID(PID)
  3. 使用 kill -9 [PID] 命令结束进程

1. 找到系统当前所有的端口

使用 netstat 命令查找本机各端口的网络连接情况

代码语言:javascript
复制
$ netstat -tln

#结果如下
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:1997            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN
tcp6       0      0 :::80                   :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN
tcp6       0      0 :::3306                 :::*                    LISTEN

这里我们要找的是 1997 端口

2. 找到对应端口在系统中的进程 ID(PID)

依据查找到的 1997 端口找到对应进程, lsof -i :1997, 注意 : 冒号不要漏掉了

代码语言:javascript
复制
lsof -i:1997

#结果如下
COMMAND   PID USER   FD   TYPE    DEVICE SIZE/OFF NODE NAME
php     29416 root    3u  IPv4 101371054      0t0  TCP *:gdp-port (LISTEN)
php     29416 root   16u  IPv4 101405652      0t0  TCP VPS-OJ26RUCK:gdp-port->116.228.152.202:procos-lm (ESTABLISHED)
php     29416 root   19u  IPv4 101391904      0t0  TCP VPS-OJ26RUCK:gdp-port->116.228.152.202:dsom-server (ESTABLISHED)

3. 使用 kill -9 [PID] 命令结束进程

通过 lsof 命令我们找到了进程的 PID: 29416,接下来就是使用 kill -9 [PID] 把进程结束就好了

代码语言:javascript
复制
$ kill -9 29416

到这里就 OK 了,不过为了保险起见,再次执行 netstat -tln 确认是否结束了端口占用

参考:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年12月8日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景
  • 释放占用端口
    • 1. 找到系统当前所有的端口
      • 2. 找到对应端口在系统中的进程 ID(PID)
        • 3. 使用 kill -9 [PID] 命令结束进程
          • 参考:
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档