ST-LINK server阻止调试提示stlinkserver already running如何解决
关闭已运行stlinkserver进程的操作步骤
Windows系统
- 按下
Win+R输入cmd打开命令提示符,或直接启动PowerShell - 执行命令查找对应进程:
tasklist | findstr "stlinkserver" - 记录输出结果中的进程PID数值,执行终止命令:
taskkill /F /PID [你查询到的PID号] - 也可直接批量终止所有同名进程:
taskkill /F /IM stlinkserver.exe
Linux/macOS系统
- 打开终端,执行命令查找进程PID:
ps aux | grep stlinkserver - 执行终止命令:
kill -9 [你查询到的PID号] - 也可直接批量终止所有同名进程:
pkill -9 stlinkserver
进程终止完成后建议拔掉板卡USB线重插,再重新启动调试,避免残留端口占用。
常见配置错误排查
如果关闭进程后问题仍复现,可排查以下配置问题:
- 多工具占用调试端口:调试时不要同时打开STM32CubeProgrammer、Keil等其他使用ST-Link的工具,也不要同时运行多个STM32CubeIDE实例操作同一块板卡,避免多个工具重复启动stlinkserver导致冲突
- 调试端口配置异常:打开对应项目的调试配置,进入「Debugger」选项卡,确认ST-Link server端口为默认的7184,不要手动修改为其他被占用的端口
- 版本不匹配:优先使用STM32CubeIDE弹出安装提示时引导下载的ST-Link server版本,避免跨大版本安装不兼容的ST-Link server程序
- Linux权限异常:Linux系统下需要将当前用户加入
dialout用户组获取USB设备访问权限,执行命令sudo usermod -aG dialout $USER后重启设备生效,避免无权限启动服务导致后台残留异常进程
内容的提问来源于stack exchange,提问作者mady1028
相关产品推荐
相关产品推荐

