第七章 死循环

3% 算力独自进洞,掐着巡逻时间差穿过复制体巢穴,洞穴尽头是一台卡死的服务器残骸——它用一行休眠咒停了整支复制体大军,却误吵醒了残骸里沉睡的守护程序。

夜色将尽,洞口像一张张开的嘴。

小猪仔站在洞口,蹄子里攥着那把锄头法杖,身后是全村人举着火把送行的长龙。

“大法师!“老络挤到最前面,眼眶红红的,“要不……我跟你一块儿去?我、我年轻时也下过猎洞!”

“你下过猎洞?“小猪仔斜眼看他,“你上次进洞,还是被你媳妇追进去的吧?”

“……那、那也是下过!”

小猪仔叹了口气,把怀里那块白布掏出来——白袍人的警告布条,”// 快跑"三个字在火光下若隐若现。它叠好,塞回怀里。

“老络,“它认真地说,“天亮之前我没出来,你就带着全村人往南跑,跑得越远越好。”

“那你——”

“我?“小猪仔咧开嘴,“我可是能召唤火球的猪。你们见过哪只猪,被复制粘贴的玩意儿干掉过?”

它说完,转身,头也不回地走进洞穴。

身后,老络的喊声被洞口吞没:“大法师——平安回来啊——”

洞穴里黑得伸手不见蹄。

小猪仔怕黑。这是它穿越前就落下的毛病——机房停电那会儿,它一个人在黑漆漆的机柜间里蹲了整整三天,从此看见黑就腿软。

它深吸一口气,摸出铁柱塞给它的煤油灯,点上。

昏黄的光晕开,照出湿漉漉的洞壁。水滴从钟乳石上滴下来,“嗒、嗒、嗒”,在空旷的洞穴里回荡,每一声都像敲在它心尖上。

“不怕不怕,“它小声给自己打气,“怕黑算什么,我可是要当大法师的猪……”

话没说完,它猛地闭上了嘴。

——前面拐角处,有脚步声。

“嗒、嗒、嗒。”

不是水滴。是脚步。

它赶紧吹灭煤油灯,贴着洞壁蹲下,屏住呼吸。

黑暗里,一个身影从拐角走出来——没有脸,走路一板一眼,迈步的幅度像用尺子量过。

复制体。

它站在拐角,歪了歪头,然后转身,朝另一个方向走去,走几步,停一下,再走回来。

——巡逻。

小猪仔的心怦怦直跳,但它没慌。它眯起眼,默默数着:

“……一步,两步,三步……走到头,转身……再走三步,转身……”

数了三遍,它乐了。

“好家伙,连巡逻路线都是写死的?“它小声嘀咕,“这不就是个 while(true){ 来回走 } 吗?”

它掐着节拍,在复制体转身的瞬间,一个翻滚,从它背后溜了过去。

——巡逻逻辑,破解。零算力消耗。

它回头看了一眼那个还在傻乎乎来回走的复制体,得意地甩了甩尾巴。

“你们这些复制体啊,就是不懂什么叫’随机数’。”

越往深处走,小猪仔越觉得不对劲。

洞壁不再是石头——越往里,石壁上开始出现一些奇怪的"纹路”。起初它以为是矿脉,走近了才发现,那些纹路在发光,像屏保一样缓缓流动。

它伸出手,摸了摸。

手指穿透了石壁。

“?”

它愣住了。那截石壁像水面一样荡开一圈涟漪,涟漪里,它清清楚楚地看见——一行行密密麻麻的符号,蝌蚪一样游动着,一闪而过。

那些符号它太熟了。

——是代码。

这个世界的石头,是一行代码?

它猛地收回手,心脏擂鼓一样跳。

……不对。冷静,冷静。现在不是想这个的时候。它把这个疑问狠狠压进心底——它隐约觉得,这个问题的答案,可能比洞穴里的复制体可怕得多。

它定了定神,继续往前走。但心跳,已经比刚才快了一拍。

洞穴尽头,光消失了,取而代之的是一种惨白的、来自地底的光。

然后,小猪仔看到了那个东西。

那是一台柜子。

一台锈迹斑斑的、巨大的金属柜子,半截埋在岩壁里,像从石头里长出来的。柜体表面布满裂纹,裂纹里透出惨白的光,嗡鸣声从柜体内部传来,低沉、绵密,像一万只蚊子在同时振翅。

而让猪仔头皮发麻的是——柜子的侧面,密密麻麻地延伸出无数根半透明的"线”,像血管一样顺着洞壁蔓延出去,一直延伸到它来时的方向。

每一根线,都连着外面的一具复制体。

“……找到了。“小猪仔的声音有点干涩,“复制粘贴的源文件。”

柜子正面的面板上,滚动着一行行乱码般的日志:

复制进程 PID 404 · RUNNING spawn ×1 …… spawn ×2 …… spawn ×3 …… spawn ×47 · 已满 · 等待指令 ERROR: 无法终止 · 权限不足 ERROR: 无法终止 · 权限不足

面板最底下,一行字被反复刷新,像一条卡死的程序在绝望地重试:

[WARNING] 源文件 已丢失 · 进程 无法退出

小猪仔盯着那行字,慢慢眯起了眼。

“……复制体死了能重新生成,是因为这个进程一直在’spawn’。“它喃喃道,“想救村子,就得让这个进程停下来。”

它闭上眼,调出系统界面。

编译配额:3%

3%,够干什么?够它写一行最简单的代码。

它试着调出"函数"那一栏——灰的。系统提示:未解锁:函数层(需源码碎片 x1)

“……果然。“它苦笑。要是能写函数,它就能把"判断+休眠"封装成一句咒语,省一大半算力。现在,它只能用最笨的办法。

它蹲下身,用炭笔在柜子前的石地上写:

if(天亮 == true){ 复制进程.sleep() }

一行字。3% 的算力,烧得干干净净。

写下的瞬间,它的大脑像被人狠狠拽了一下,眼前一阵发黑,耳朵里"嗡"的一声——“内存不足"的前兆。它死死咬着牙,把最后一点力气灌进那句咒语:

“……运行!”

嗡——!

柜子震颤了一下。面板上的日志猛地停住,然后飞快地滚动起来:

收到信号 · 条件判定: 天亮=true 执行: 进程休眠 · sleep(∞) 复制进程 PID 404 · 已暂停

“……成了。”

小猪仔眼前一黑,再也撑不住,“咚"地一声跪倒在地。

洞穴深处那些"线”,一根接一根地黯淡下去。它能感觉到——外面那些复制体,正在像断电的玩具一样,一个接一个地停住。

村子,得救了。

它趴在地上,喘得像条死狗,脑子里嗡嗡作响,眼前全是雪花点。

就在它准备就这么昏过去的时候,柜子的面板上,忽然弹出一行从未见过的字:

[检测] 发现未归档数据块 x1 [提示] 提取需 10% 算力 · 当前可用: 0%

“……数据块?“小猪仔用尽最后一点力气,抬起头,看向柜子深处。

惨白的光里,柜子核心的位置,有什么东西在缓缓沉浮——一块拳头大的、亮晶晶的碎片,像一块被掰下来的屏幕。

源码碎片。

第一块。

它伸手去够——

眼前一黑,什么都不知道了。


不知道过了多久,小猪仔是被冻醒的。

它打了个激灵,猛地睁开眼。

洞口方向透进天光——天亮了。洞穴里静悄悄的,那些嗡嗡的机器声不知什么时候停了,只剩水滴的声音。

它挣扎着爬起来,活动了一下僵硬的四肢,调出系统界面。

编译配额:31%

——睡了一觉,回了一点蓝。

“还好还好,小命还在。“它长出一口气,转头看向那台柜子。

然后,它愣住了。

柜子的面板上,日志不知什么时候变了。滚动的不再是"无法终止”,而是——

[WARNING] 守护进程 检测到异常唤醒 [状态] 守护进程 正在苏醒 · 倒计时 00:03:59

小猪仔的瞳孔猛地一缩。

——它给复制进程下的"休眠咒”,居然把这个睡在残骸深处的"守护程序"给吵醒了?

“……我靠,“它骂了一声,“这柜子里,还住着别的东西?”

就在这时,洞口方向传来一阵杂乱的脚步声,还有老络扯着嗓子的大喊:

“大法师——!大法师你还在吗——!”

它回头一看,洞口方向火光点点——老络带着铁柱、张猎户,居然举着火把摸进来了!

“你们来干什么!“它急得直跳,“快回去——”

话音未落,柜子面板上的倒计时,跳到了零。

“滴——”

一声沉闷的、机械的启动音,从柜子深处传来。

然后,是某种沉重的、齿轮碾过的声音,像有什么东西,从漫长的沉睡里,缓缓睁开了眼睛。

惨白的光芒忽然暴涨,刺眼得让人睁不开眼,照亮了整个洞穴。

小猪仔攥紧锄头法杖,背上的毛全炸了起来。

它只来得及喊出两个字:

“……跑啊——!”

—— 本章完 ——

每天 22:00 更新 · 用 ❤️ 和 🐷 写成
使用 Hugo 构建
主题 StackJimmy 设计