通过进程查找占用端口的服务,并结束进程的方法

Windows 系统

  • 使用任务管理器
    1. 按下 Ctrl + Shift + Esc 组合键打开任务管理器。
    2. 切换到 "详细信息" 选项卡。
    3. 右键单击任意列标题,在弹出的菜单中勾选 "PID(进程标识符)" 和 "命令行"。"PID" 有助于后续关联端口信息,"命令行" 能让你查看进程启动时使用的完整命令,辅助判断是哪个服务。
    4. 记住要查找的端口对应的 PID,在任务管理器中找到该 PID 对应的进程,进程名称能让你初步判断是哪个服务,命令行信息可以进一步辅助确认。
  • 使用命令行工具

1、打开命令提示符(CMD)或者 PowerShell,查找所有活动连接。

2、执行以下命令来查找占用指定端口的 PID:

复制代码
netstat -ano | findstr :<端口号>

例如,要查找占用 8080 端口的进程 ID,就输入 netstat -ano | findstr :8080

3、得到 PID 后,使用以下命令查看该 PID 对应的服务名称

复制代码
tasklist /fi "PID eq <PID>"

4、结束进程

通过任务管理器或者命令行结束对应的进程。使用命令行结束进程的话,在命令提示符中输入以下命令:

复制代码
taskkill /F /PID <进程 ID>

比如,若进程 ID 是 1234,就输入 taskkill /F /PID 1234

Linux 系统

  • 使用 lsof 命令

    1. 打开终端。
    2. 执行以下命令查找占用指定端口的进程信息:

    lsof -i :<端口号>

例如,查找占用 8080 端口的进程,输入 lsof -i :8080。该命令会输出进程的详细信息,包括进程名、PID、用户、文件描述符等,从进程名就能判断是哪个服务。

  • 使用 netstatps 命令组合

1、打开终端,执行以下命令查找占用指定端口的 PID:

复制代码
netstat -tulnp | grep :<端口号>

比如查找占用 8080 端口的进程 ID,输入 netstat -tulnp | grep :8080

2. 得到 PID 后,使用 ps 命令查看该 PID 对应的进程详细信息:

复制代码
ps -ef | grep <PID>

例如,若 PID 是 1234,就输入 ps -ef | grep 1234,输出结果里会显示进程的启动用户、启动时间、命令行等信息,以此判断是哪个服务。

macOS 系统

macOS 基于 Unix 系统,查找方法和 Linux 类似:

  • 使用 lsof 命令

    1. 打开终端。
    2. 执行以下命令查找占用指定端口的进程信息:

    lsof -i :<端口号>

例如,查找占用 8080 端口的进程,输入 lsof -i :8080。通过输出的进程名判断是哪个服务。

相关推荐
青桔柠薯片7 天前
Linux软件编程:线程和进程间通信
linux·开发语言·线程·进程
’长谷深风‘7 天前
进程间通信
c语言·进程·进程间通信·软件编程
_OP_CHEN7 天前
【Linux系统编程】(四十)线程控制终极指南:从资源共享到实战操控,带你吃透线程全生命周期
linux·运维·操作系统·线程·进程·c/c++·线程控制
’长谷深风‘8 天前
线程函数接口和属性
c语言·开发语言·线程·进程·软件编程
小志biubiu9 天前
Linux_进程概念(A)-进程部分【Ubuntu】
linux·运维·服务器·ubuntu·操作系统·进程
_OP_CHEN9 天前
【Linux系统编程】(三十九)吃透线程概念:从底层原理到实战应用
linux·运维·操作系统·线程·进程·多线程·c/c++
_OP_CHEN10 天前
【Linux系统编程】(三十八)进程信号拓展:可重入函数 /volatile/SIGCHLD 全解析
linux·运维·进程·c/c++·信号·可重入函数·volatile
_OP_CHEN11 天前
【Linux系统编程】(三十七)信号捕捉全链路拆解|从内核态切换到 sigaction 实战
linux·运维·操作系统·进程·c/c++·信号·信号捕捉
_OP_CHEN12 天前
【Linux系统编程】(三十六)深挖信号保存机制:未决、阻塞与信号集的底层实现全解析
linux·运维·操作系统·进程·c/c++·信号·信号保存
隔壁大炮13 天前
【串口】通信协议
单片机·嵌入式硬件·pid·江协科技