随笔

2026年06月30日-黄昊-你生命中有没有这样的后台程序,你根本不知道它在跑?

上周自己常用的笔记本电脑,日常使用烫得像块刚出炉的披萨。摸一下键盘底部都觉得烫手,续航也不像往常 —— 上课中途就自动关机了,我想这不是 Mac 该有的水平。M2 再旧也不至于开个浏览器就发烫。这可能不是硬件的问题,是我没找对原因。因此调出了AI agent和我一起研究。

给Claude Code这一看,就看出了名堂。

我让他写了个脚本,帮我把整个电脑的后台扒一遍 —— 跑了哪些进程、CPU 谁在吃、温度谁在飙。脚本跑完,结果回来:

  • CPU 被一个叫 openclaw-gateway 的进程吃掉了 112% 到 154%
  • 内存 8GB 已占用 93%,可用内存只剩 121MB
  • Swap(虚拟内存)消耗了 75%,4GB 已用掉 3GB
  • 内存压缩和解压次数:超过 4 亿次
  • Load Average:4.69 / 5.23 / 5.82 —— 一个 8 核的芯片,负载已经超过了物理极限
  • 电池余量 25%,但系统估算只剩 55 分钟
  • 系统已经连续运行了 3 天,从未重启

而真正让我脊背发凉的,是这个叫 openclaw-gateway 的进程在做什么。

「僵尸进程 —— OpenClaw Gateway」

我愣了一下。OpenClaw?我早就卸载了,后来都在另一台专门的AI笔记本上跑,这台 MacBook Air 我根本没在用 OpenClaw。怎么可能还有它的进程?

仔细一看才明白:是营队的时候,为了临时测试一个openclaw通信脚本,在后台临时写了一个 gateway服务。但当时那个脚本有 bug,没跑成功,后来我也忘了这件事,以为重启电脑就完事了。

但它根本没有被清理干净,还被设计成了开机自启。

它的配置文件还在,里面写了两行致命的指令:

KeepAlive = true      —— 挂了也要立即重启
ThrottleInterval = 1  —— 崩溃后 1 秒内自动重启

所以有趣的事情就来了。

它每 2 到 3 秒,完成一次这样的循环:

17:27:38 启动 → 加载配置 → 缺少环境变量 → 崩溃
17:27:40 launchd 1秒后重启 → 加载配置 → 缺少环境变量 → 崩溃
17:27:43 launchd 1秒后重启 → 加载配置 → 缺少环境变量 → 崩溃
17:27:45 launchd 1秒后重启 → 加载配置 → 缺少环境变量 → 崩溃
......(无限循环)

这个进程启动后做的第一件事,就是检查自己需要的一个关键环境变量 QCLAW_LLM_API_KEY。变量没有设,它立刻退出。但系统的 LaunchAgent 配置写的是 KeepAlive=true 加 ThrottleInterval=1 —— 崩溃后一秒内自动重启。于是它被拉起来,检查,发现还是不行,再退出,再被拉起来……每 2 到 3 秒一次,像一只永远跑不到终点的仓鼠。

和真正的仓鼠不同的是,这只「电子仓鼠」每一次奔跑都要消耗真金白银的 CPU 资源。8 个核心被它拖垮,内存被它挤爆,电脑迅速升温,电池飞速下降 —— 而这一切,没有产生任何有价值的输出


诊断本身就是解药

找到根源之后,修复其实很简单:一行命令。

launchctl unload -w ~/Library/LaunchAgents/ai.openclaw.gateway.plist

就这一个动作。删完之后,电脑立刻安静下来。不出 5 分钟,温度降下来了,续航也恢复了正常。

但我更多在想另一件事。

这个 openclaw-gateway 在我电脑后台跑了快一周,我不知道它的存在,它没有界面,没有声音,没有让我察觉到的任何显性信号。它就在那里 —— 静悄悄地、持续地、每两三秒一次地在空转 —— 把 CPU 烧到 150%,把电池耗尽,把机身烤热。

你会把它叫做「一个 bug」。但在我看来,它更像一个隐喻。

我忍不住问自己:

我生命中有没有这样的后台程序?

有没有一些情绪模式、思维惯性,在我不知道的情况下,偷偷地、持续地在消耗我?它们没有 UI,没有界面,平常完全看不见 —— 但在某个深夜你安静下来的时候,它们其实一直在后台跑着:

  • 一种面对事情时自动升起的负面评判
  • 一种对未来的隐隐担忧和恐惧
  • 一种长期积累的、早已固化成为「默认配置」的行为习惯

就像我吃冰西瓜一样。

那段时间住在海边,每天晚上去吹海风、吃冰西瓜,觉得很爽。大病一场后才知道,这对身体 —— 尤其对吃素的人来说 —— 伤害有多大。但因为没有一个显性的「报警界面」弹出来,我就一直没意识到它在后台跑。跑了很久,很久。

你不知道它的存在,它沉默地执行,它对系统的伤害性极大,而且是持续性的。

如果你不去审视,它可能跑几十年。

想到这里,我觉得不是这一行命令的事。是「到底有多少个这样的进程在跑」这件事,值得我认真看看。


「生命中的核桃」

以前听过一个故事,叫《生命中的核桃》。

有一个小徒弟很勤奋,每天从早忙到晚,却觉得自己什么成就都没有。他去找师父,师父拿了一个空碗,往里头放了十几个核桃,碗装满了。然后问:还能放吗?徒弟说,满了。师父又撒了一把米进去,米顺着核桃缝渗了下去。又问:满了吗?徒弟说,这回满了。师父又倒了一杯水,水渗了进去。又问:满了吗?徒弟说,真装不下了。师父又撒了一勺盐,盐在水里化开了。

然后师父倒掉了所有的东西,重新开始。

这次他先放水,再放米 —— 最后想放核桃的时候,要么放不进,要么碗被撑破了。

师父告诉他:如果你的生命先被琐碎的小事填满了,那些真正重要的东西,就再也进不来了。

那个 openclaw-gateway 僵尸进程,就是一把大米 —— 它不断地往你的系统里塞,塞到你以为系统在满负荷运转,但真正的核桃一个都没放进去。你每天忙得脚不沾地,回头一看,重要的事一件没做成。

这不是时间管理的问题。这是进程管理的问题

有些后台程序是「假核桃」—— 你以为你必须坚持它、守护它,其实它只是一条坏掉的代码,删了就没事了。有些是「真核桃」—— 你以为你扛不住了想放弃,其实它才是你导航的核心。


缺少的那个关键变量

这个程序的问题不是无用,而是坏了。

坏在哪里?缺少了一个关键变量 API Key。就像一个人忘记了自己为什么出发。它被设计成「保持存活」的模式 —— KeepAlive=true —— 但它不知道,活着的意义不是活着本身,而是完成生而为人的使命。

很多人的状态不就是这样吗?

每天醒来,日程表上是满的。赶地铁、开会、回消息、填表、做 PPT、交周报……然后瘫在床上刷半小时手机,一天就结束了。累是真累,但你问自己今天做了什么真正有意义的事,答案可能是沉默。

技术上,那个僵尸进程只需要一行 export 就能活过来。你缺的那个关键变量是什么?是勇气?是专注?是说不的能力?是「这件事我不做也行」的清醒?


「船与灯塔」

扶摇有一篇叫《船与灯塔》的文章,讲了一个故事:

两艘战舰在浓雾中航行,瞭望员报告前方有灯光正在逼近——这意味着可能相撞。船长下令对方转向二十度,对方回答:「建议贵船转向二十度。」船长亮明身份:「我是战舰,转向二十度。」对方平静地回答:「这里是灯塔。」

结果是船长改变了航道。灯塔是不变的。人生真正的核心,也应该具备这种恒定的品质。

那个僵尸进程的问题,说到底就是一个方向问题。它不是没有动力 —— 它动力很足,3 秒一次,绝不偷懒。但它不知道自己的北在哪。它缺少的不是劳动量,而是一个正确的变量,一个生命的灯塔。


给自己的系统做一次监控

有了这样的发现后心生欢喜,但同时我还做了一件事:我没有就此停手,而是和AI部署了一套系统监控工具 —— 让Claude用 Python 基于 psutil 和 rumps 写的监控系统。它会在菜单栏显示一个彩色图标(绿黄红三档),每 5 分钟记录一次 CPU、内存、Swap、电池、负载等关键指标到 CSV 文件。

我打算连续采集 2 到 3 天的数据,然后分析系统的真实健康状态。

为什么要做这件事?因为一个更深层的问题还没有回答:这台机器上,还有没有别的「僵尸程序」? 更关键的是:除了这个显性的僵尸,还有什么隐性的损耗 —— 那些不会导致崩溃、但会持续消耗资源的进程?

没有监控,就没有数据。没有数据,就没有判断。没有判断,你只能用感觉来猜测:「呃,好像有点卡。」

而感觉,是最容易被骗的。

我觉得对每个人的思想也应该这样做。

怎么检?

第一,反思日记。把一天的事情像慢动作一样回放,一帧一帧地看 —— 我当时为什么那样想?为什么那样反应?当文字写下来,来回咀嚼几遍的时候,那些「看不到的东西」就慢慢地浮现出来了。这是卸掉僵尸程序的第一步。

第二,看书。看书不是找答案,而是看到另一种可能性。上周我读李汉荣老师的《万物有灵》,看他写小溪、石头、山里的云。我才发现,原来有人的内心是那样看待世界的 —— 带着清净心、无限细微的感受力。当你看到别人可以这样生活的时候,你才发现:哦,原来我背后的那个「默认程序」不一定是对的。这是打开能见度。

第三,跟人交流。把自己的困惑讲出来。不是抱怨,是真的去交流。因为别人能看到你身上的盲区 —— 你那个跑了好几年的后台程序,可能对方一眼就看出来了。你在自己的系统里,有时候真的看不见。


我的 MacBook Air 现在已经不烫了。续航回到了正常的水平。

一个在后台跑了一周的僵尸进程,一条命令就解决了。

但我想知道的,不是这台电脑。我想知道的是,我身上还有多少个这样的僵尸进程,还有多少我需要赋予价值和意义的,找不到灯塔的迷茫船只。

因为真正重要的不是你在不在跑,而是你跑的方向对不对


📖 拓展阅读

生命中的核桃

http://mp.weixin.qq.com/s?__biz=MzI3Mjc5NzcxMQ==&mid=2247492370&idx=1&sn=bcfe79603fbf897942a7989c7871a2e3&chksm=eb2fba72dc583364778cf36a66eb96c04f66089cf25d18ce77594bcbbcd04e64729c4a4e6fb2#rd

船与灯塔:人生的中心是什么?

http://mp.weixin.qq.com/s?__biz=MzI3Mjc5NzcxMQ==&mid=2247492762&idx=1&sn=61eac5fae3d6b9db27fc3d28aafdd41f&chksm=eb2fbdfadc5834ec6cc11dbc189c6bdd296d6a804b0eae1b8f590de1c2fd7e83faa7a8c14260#rd

如果你也对文中的MAC插件感兴趣,已经传到了github,欢迎使用:

Github mac-monitor plug-in

https://github.com/hardihuang/mac-monitor

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注