Token导航 LogoToken导航TokenDH.com
Clean Orphans logo
开发工具未说明官方级别未说明来源级核验

Clean Orphans

MCP Server

DevClean是一款智能、安全且快速的开发环境清理脚本,专门用于识别和终止孤儿进程以回收内存,适用于macOS和Linux开发环境。

工具数

0

提示词数

0

GitHub Stars

8

资源数

0
开发工具ShellClaude内存管理ClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ImL1s

提供方

ImL1s

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

🧹 DevClean

繁体中文版README

用于开发环境的智能、安全、闪电般快速的清理脚本。

它识别并杀死孤立的后台进程(其中 PPID=1)回收内存 而不会影响您的活动开发会话 (如IDE、终端或Claude Code/AI代理)。

专门针对 macOS 移动开发人员(Flutter/iOS/Android)和使用现代人工智能工具的开发人员(MCP服务器)。

devclean --deep demo

为什么你需要这个

人工智能驱动的编码工具和移动开发工具链产生了后台进程 经常不清理自己这些孤立的进程默默地积累、消耗 10-20+GB内存 甚至在你注意到你的机器变慢之前。

与其在活动监视器中手动查找它们或重新启动, devclean 在几毫秒内安全地清除它们。

根本原因

1.MCP服务器:退出时不清理

克劳德代码、游标、OpenCode和反重力生成等工具 MCP(模型上下文协议) 服务器作为子进程。当父IDE或终端退出时,特别是通过崩溃、强制退出或关闭选项卡退出时,这些子进程是 未终止他们成了孤儿(PPID=1)并无限期地继续运行。

为什么会发生:

现实世界影响:

工具问题影响
克劳德代码退出时MCP服务器未终止进程在会话中累积
克劳德代码铬MCP生成~4/min,无需清理27GB 超过~10小时
克劳德代码父终端失效时,子代理泄漏每个孤立进程约45 MB
克劳德代码VS代码扩展泄漏了工作进程Linux上触发OOM杀手
光标MCP子进程未清理几天内约3-5GB
光标MCP过程会随着时间的推移而积累数十名孤儿 node/npm 过程
反重力语言服务器内存消耗高退出后僵尸进程;后端端口未清除
反重力MCP服务器按工作区生成,从未清理过工艺爆炸;~10 GB空闲RAM

2.前端开发服务器:Ctrl+C并不总是有效

工具问题影响
webpack开发服务器端口占用,节点进程延迟
webpack开发服务器子进程不能被杀死父退出不会终止服务器
Vue/webpack开发服务器在Ctrl+C后继续运行需要手动杀死

3.Flutter/Dart:SIGTERM无法到达VM(移动设备)

flutter command是一个shell脚本包装器。当IDE在关机时发送SIGTERM时,信号会击中shell进程,但 不会传播到底层Dart VM当shell干净退出时,VM进程成为孤立进程。

Flutter守护进程也 生成子流程,如 xcdevice observe 它们从未被清理过。

工具问题影响
颤振xcdevice observe 被守护进程泄露孤立的子进程堆积起来
FVMFVM管理 dart/flutter 流程可能会卡住(例如。 fvm use 等待交互式输入)卡住的进程以100%的CPU累积

4.Gradle:Daemon乘法

工具问题影响
Gradle Daemon多个实例耗尽内存配置不匹配会产生重复项
Kotlin Daemon内存使用过多3个以上守护进程×每个1 GB+

5.iOS模拟器:无声记忆猪

CoreSimulator处理以前Xcode会话中的进程 徘徊在背景中 因为Xcode 不知道你还需要什么 不会帮你清理的。他们共同消费 10-20+GB.

6.逻辑选项+:已知内存泄漏

logioptionsplus_agent 有a 有据可查的内存泄漏 这已经报道了3年多了。代理从~100 MB开始,但 随着时间的推移增长到多GB --在极端情况下高达36GB。自从 launchd 自动重新启动它,唯一实用的解决方案是定期终止进程并让它重新启动。罗技尚未完全解决此问题。

______________________________________________________________________

我们如何解决它

策略如何积极工作安全?
孤立检测 (PPID=1)只杀死父进程已死亡的进程——这是泄漏进程的定义特征是的——活动的IDE/终端子进程总是有一个活着的父进程
模式匹配通过以下方式针对已知罪犯 ORPHAN_PATTERNS 正则表达式数组,不是毯式进程终止是的——只匹配特定的工具签名
**pgrep 结束 `ps\grep`**用途 pgrep -f 避免自匹配并减少误报
前端开发服务器捕获孤立的webpack-dev服务器、vite、next.js、esbuild、turbopack进程是的——只有PPID=1个孤立进程
优雅的终止SIGTERM→ 2等一下→ SIGKILL仅适用于无响应的进程是--为进程提供保存状态的时间
深度模式分离重守护进程(Gradle、Kotlin LSP、FVM、反重力语言服务器、Logi选项+)需要显式 --deep 旗; xcodebuild 进一步仅限于孤儿是的——选择加入,从不意外
试运行--dry-run 预览所有内容而不杀死N/A--只读

______________________________________________________________________

安装

git clone https://github.com/ImL1s/devclean.git
cd devclean
./install.sh
注: 确保 ~/.local/bin 在你的 PATH。将此行添加到您的 ~/.zshrc~/.bashrc: ``bash export PATH="$HOME/.local/bin:$PATH" ``

______________________________________________________________________

用法

安全模式(默认)

安全模式仅针对分离的孤立工具(PPID=1).它是 旨在避免活动会话 --连接到活父进程(IDE、终端、shell)的进程永远不会匹配。

devclean

深度清洁模式(--deep)

关闭重型后台守护进程,这些守护进程在技术上不是孤立的,但在空闲时会消耗GB的RAM。 *(Gradle等工具将在下次构建时自动重新启动。)*

警告: 深度模式会杀死非孤立的Gradle、Kotlin LSP、Flutter守护进程、FVM进程、反重力语言服务器、Logi Options+代理和Ruby/Fastlane进程。如果构建或编译正在积极运行,则可能会中断。使用 --dry-run 首先预览会受到影响的内容。
devclean --deep

干运行模式(--dry-run)

预览脚本内容 *会* 杀死而不实际终止任何事情。非常适合审计您可以回收多少内存。

devclean --dry-run
devclean --deep --dry-run

优化模式(--optimize)

应用一次性修复以减少资源浪费:禁用VS Code/Coursor/Antigravity/Kiro中的崩溃报告器,清理Crashpad转储文件,并禁用已知的资源浪费后台代理。

devclean --optimize
devclean --optimize --dry-run

磁盘清理模式(--disk)

通过清理开发缓存和构建工件来回收磁盘空间。所有清理过的项目都是可重建的——您的下一个构建将重新下载所需的内容。

目标:Xcode DerivedData、iOS设备支持、Gradle缓存、CocoaPods、Flutter发布缓存、npm缓存、FVM不完整版本、Gemini浏览器录制、项目 build/, .dart_tool/, .gradle/, node_modules/ 目录。

devclean --disk
devclean --disk --dry-run

帮助(-h, --help)

devclean --help

______________________________________________________________________

定制

通过编辑将您自己的工具添加到清理列表中 ORPHAN_PATTERNS 数组中 devclean 脚本:

ORPHAN_PATTERNS=(
  # AI & MCP Servers (Common)
  "mcp-server|playwright-mcp"

  # ... add yours here!
  "my-custom-heavy-daemon"
)

然后运行 ./install.sh 再次在全球范围内应用这些更改。

______________________________________________________________________

贡献

欢迎拉取请求!如果您知道其他开发工具经常留下孤立的后台进程,请随时打开PR将其添加到默认正则表达式模式中。

许可证

该项目根据MIT许可证获得许可。

目录标签

目录标签

开发工具ShellClaude内存管理本地部署进程清理macOS优化Linux优化

支持客户端

ClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP