You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS Code使用remote-ssh连接Linux服务器产生大量node僵尸进程如何解决?

VS Code Remote-SSH大量node僵尸进程解决方案

问题现象

使用VS Code Remote-SSH连接Linux服务器时,通过top命令可观测到大量command为node的僵尸进程,截图如下:
top命令输出的node僵尸进程截图

根因说明

该问题是VS Code远程服务进程异常断连时未正确回收启动的node子进程导致,多发生在网络波动被动断开SSH连接的场景。

临时清理方案

  • 先定位僵尸进程的父进程ID:执行ps -ef | grep defunct | grep node,输出中第三列即为对应僵尸进程的父PID(PPID)
  • 终止对应的父进程即可自动回收僵尸进程:执行kill -9 <替换为实际父PID>
  • 若存在大量僵尸进程可批量清理所有残留的vscode-server进程:执行ps -ef | grep vscode-server | grep -v grep | awk '{print $2}' | xargs kill -9

注意:批量清理操作会断开当前所有Remote-SSH连接,重连后VS Code会自动重启远程服务,不会影响服务器其他业务进程。

永久规避方案

  • 升级VS Code本体和Remote-SSH插件到最新正式版,微软已在高版本中修复了大部分进程泄漏问题
  • 打开VS Code设置页,搜索remote.SSH.shutdownAfterDisconnect,将该配置项设置为true,确保断开SSH连接后远程服务主动终止所有子进程
  • 若网络环境不稳定,可将remote.SSH.connectTimeout配置项调大到30以上,减少异常断开概率

验证方法

清理完成后执行top -b -n 1 | grep node | grep defunct,无输出则说明僵尸进程已全部回收。

内容的提问来源于stack exchange,提问作者QXian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 03:36:10