linux查看占用的端口的PID

场景:启动flask服务提示端口被占用,无法成功启动服务,需要先杀死占用进程,解除端口占用
解决方法:(方法来源gpt3.5)
在 Linux 系统上,可以使用 lsof 命令查看指定端口的进程占用情况,并使用 kill 命令终止该进程。具体步骤如下:

  1. 使用 lsof 命令查看占用指定端口的进程:

    sudo lsof -i :18088
    

    如果端口被占用,该命令会输出类似以下内容的信息:

    COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    python  12345  user   10u  IPv4 123456      0t0  TCP *:18088 (LISTEN)
    

    其中,PID 表示占用该端口的进程 ID。

  2. 使用 kill 命令终止指定 PID 的进程:

    sudo kill [PID]
    

    替换 [PID] 为上一步中查找到的进程 ID 即可。

如果您仍然无法释放该端口,请确保您以管理员权限运行了上述命令,并检查端口是否被其他程序或服务占用。如果您不确定哪个进程在占用该端口,可以尝试向更高的端口号发出请求,查看哪个进程会响应,以确定哪个进程占用了该端口。

希望这些信息能够帮助您解决问题。如果您还有其他疑问,请随时提出。

### Linux 查看 TCP 端口占用方法 在 Linux 系统中,可以通过多种方式查看 TCP 端口占用情况。以下是几种常见的命令及其具体用法: #### 使用 `netstat` 命令 `netstat` 是一个常用的网络统计工具,能够显示网络连接、路由表、接口统计、伪装连接和多播成员。 - **查看所有 TCP 端口** 要列出当前系统中的所有 TCP 端口以及它们的状态,可以运行以下命令: ```bash netstat -ntlp ``` 此命令会显示所有的监听状态下的 TCP 端口,并附带对应的 PID 和程序名称[^1]。 - **查看特定端口** 如果只想查找某个具体的端口(例如 8080),可以结合 `grep` 或者正则表达式过滤输出结果: ```bash netstat -tunlp | grep '8080' ``` 对于多个端口的情况,则可使用 `egrep` 来匹配一组端口号: ```bash netstat -tunlp | egrep '(2181|8080)' ``` - **安装 `netstat` 工具** 若发现系统未预装此功能模块,可通过包管理器快速部署它: ```bash yum -y install net-tools ``` #### 使用 `lsof` 命令 另一种高效的方式就是利用文件描述符机制实现的 `lsof` (List Open Files),它可以展示哪些进程打开了什么类型的文件,当然也包括套接字。 - **基本语法** 查询某单一端口被哪个应用所持有非常简单明了: ```bash lsof -i:8080 ``` - **安装 `lsof`** 同样地,在某些发行版里可能需要手动引入这个软件包: ```bash yum -y install lsof ``` #### 结合其他辅助手段定位更精确的信息 除了单独依赖上述两种途径外,还可以借助额外的一些技巧进一步缩小范围或者获取更加详尽的数据集。比如先通过 `ps aux` 找寻目标服务实例再回溯关联其绑定地址;又或者是运用高级筛选参数定制化检索逻辑等等。 ```python import os os.system('netstat -ntlp') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值