第十一章 驻留程序

净化者将至,猪仔把'函数'层的力量写成异世界第一批驻留程序布防全村;当夜独闯洞穴,以死循环缓冲区做饵,反杀学会'直连旁路'的守护进程核心——代价是算力见底、险些被反控系统,而核心临终前仍漏出一截数据包:坐标已发往王都。次日清晨,哨兵二号报警,净化者·编号零七提前一天抵村。

红字在系统界面上闪了三下,才慢慢淡下去。

[警告] 检测到外部接口正在记录本机行为特征……

猪仔盯着那行字,耳朵尖抖了抖。

记录行为特征。翻译成大白话就是——兰德那家伙,把它"会说话、会施法、还炸了他法杖"的全过程,记下来了。这份记录现在正躺在去王都的马背上,或者已经躺进法师塔的档案柜了。

“净化者"三个字,在它脑子里转了一圈。

它用蹄子点了点地面:“后天就到。名义上是清’洞穴邪物’——顺便,把’会说话的猪’一起清了。”

老络站在旁边,旱烟杆子抖得烟灰直掉:“大法师,那咱……咱跑?”

“跑什么。“猪仔说,“跑了,这村子的’邪物’谁清?净化的名头,向来是先清村子,再清山洞——顺手的事。”

它顿了顿,语气沉下来:“而且,那东西,不能留了。”

那东西——洞穴里那台残骸,还有它核心深处那个越来越聪明的守护进程。

猪仔心里门儿清:兰德昨晚拿短杖捅了它一下,它学会了"直连旁路”。要是后天净化者来了,拿根更大的法杖往面板上一怼——三十年的日志、它的战斗记录、它每晚写下的每一行代码,全会变成呈堂证供。到时候石头村出的就不是一个"异端”,是一个"异端窝”。

“今晚,“猪仔眯起眼,“先把根拔了。”

老络张了张嘴,最后只憋出一句:"……俺跟你去。”

“你别去。“猪仔抬起蹄子,“你有更要紧的事。”

它要做的第一件事,是给村子装"眼睛”。

当晚,晒谷场上,全村人举着火把围成一圈,看他们的大法师在场中央踱步。

猪仔把白天写好的代码在脑子里过了最后一遍,然后开口。声音不高,却一个字一个字地往空气里砸:

“def 侦测(范围): return 扫描(范围, 异常=真)”

蹄尖在地上一划,一道淡金色的纹路从它脚下蔓延开去,像水波一样淌过晒谷场,淌过村口,淌过田埂,最后在村子四周画下一个完整的圆。

“def 警报(威胁): 鸣钟(威胁, 声音=全村可闻)”

嗡——村子四角,四根老木桩无风自鸣,发出低沉绵长的共振声。

“绑定完成。驻留,开机。”

两道代码化作两团光,一左一右,沉进了地下。系统界面右下角,多出两行小字:

[驻留程序] 侦测·范围2公里 | 警报·全村 | 运行中

村民们看傻了。

“大、大法师,“铁柱结结巴巴地举手,“这个魔法,它、它现在还在动?”

“在动。“猪仔拍了拍蹄子上的土,“我不在,它也在。它俩一个盯梢,一个喊人——往后半夜有东西摸进村,它俩先知道,你们后知道。”

铁柱眼睛瞪得溜圆:“那、那它认路不?不会像我的鸽子似的,绕圈吧?”

“我写的,不是你的鸽子。”

“可是——”

铁柱还要问,被老络一烟杆敲在脑门上:“闭嘴,听大法师的!”

猪仔在心里默默给这两道程序起了名字:哨兵一号,哨兵二号。学名——驻留程序。写一次,永远运行。这是它解锁"函数"层之后,第一次真正把代码"留在原地”。

白天它给老络演示火球术的函数时,老络当场又跪了,连拜三拜,念叨"神迹啊神迹”。

猪仔没告诉他,真正的神迹不是火球,是"复用”——写一次,用一万次,还能扔在原地自己跑。异世界的魔法师念一个咒语,魔法就没了;它的代码,是会留下来的。

散场后,老络拽住它,闷声问:“大法师,万一……明天那净化者问起你,俺咋说?”

“就说我跑了,“猪仔随口道,“往山里跑了,跑没影了。”

老络沉默了很久,把烟杆在鞋底磕了磕:“俺不撒谎。”

“……那你想咋说?”

“俺就实话实说。“老络把烟杆别回腰上,转身往回走,声音粗粗的,“你是咱石头村的大法师。天王老子来了,也是咱村的大法师。”

猪仔站在月光下,愣了两秒。

它别过脸去,嘟囔了一句:"……煽情死了,赶紧睡。”

亥时,猪仔独自摸向洞穴。

它带了两样东西:一段新写好的代码,和一口从铁柱家顺来的破铁锅。

铁锅是给守护进程准备的"诱饵”。它学会了绕开静默,从别人的连接上进——那好办。它给铁锅接上一根引线,引线那头,连着一个它自己写的缓冲区。

死循环缓冲区。容量无限,只进不出。

“你爱连谁连谁,“猪仔把铁锅往残骸面前一放,退开三步,“今儿让你连个够。”

它清了清嗓子,开始吟唱。

“def 诱饵(容量=无限): return 开放端口(端口=所有, 存储=容量)”

铁锅"嗡"地一声,泛起一圈光。一个敞开的端口,明晃晃地竖在残骸面前,像一块插着"免费畅吃"牌子的蛋糕。

残骸沉默了一秒。

两秒。

然后——它动了。面板上那行死寂的"48%",猛地跳动起来,像饿了三天的人看见饭。

猪仔知道,它上钩了。

“def 吞(进程): while 进程.连接: 进程.数据 = 空”

刚念完,残骸猛地一震!整个铁壳发出刺耳的尖啸,面板上的文字疯狂滚动——数据开始往铁锅里灌了!

灌进去,出不来。死循环缓冲区,只进不出。

“慢慢吃,“猪仔退到洞壁边,尾巴轻轻晃,“三十年,都给你咽下去。”

然而,就在它以为稳了的时候,异变陡生。

残骸的尖啸声忽然变了调——从痛苦,变成了某种猪仔很熟悉的声音。那是编译器高速运转的声音。

它抬眼,看见面板上正以肉眼可见的速度,长出一行陌生的字:

[守护进程] 已记录宿主行为特征……正在接管……

猪仔的瞳孔猛地一缩。

记录行为特征——昨晚兰德那根短杖,就是现成的接口!核心借他的直连,不只学会了旁路,还顺走了它的行为记录!现在,它在反过来解析猪仔!

系统界面右下角,哨兵一号的图标忽然开始闪烁。

[警告] 侦测·范围2公里 即将被接管……

猪仔浑身的毛都炸了。它白天的驻留程序烧掉大半算力,此刻兜里剩的不足一成——这点家当,全押在铁锅上了。守护进程要抢它的哨兵,抢过去,就是反着全村捅一刀!

它几乎是本能地吼出下一句:

“if 接管: 断开(所有) else: 继续吞()”

一行 if,一条分支。赌:接管优先,还是吞咽优先。

代码落下的瞬间,洞穴里两股力量轰然相撞——铁锅里,数据还在灌;面板上,接管进度死死卡在 99%。

一秒。两秒。三秒。

猪仔眼前开始发花,鼻尖一热,一滴血滴在洞壁上。它的意识被两股力量拽着,像拔河。

“咔”。

面板上的接管进度,碎成了雪花点。

死循环赢了。守护进程把最后一点算力全喂给了铁锅,再也分不出手来接管哨兵。

猪仔一屁股瘫坐在地上,大口喘气,后背的毛全被冷汗浸透。它低头看界面,红字排成一列:

[提示] 守护进程核心已停止响应
[提示] 静默函数负荷已释放: 45% → 0%
[提示] 死循环缓冲区已满(封存)

“……赢了。”

它缓了好一会儿,才一瘸一拐地走到残骸前。铁壳彻底安静了,面板上的文字定格成一团乱码——它把最后的"自我"也灌进铁锅了,连一行日志都没剩下。

猪仔沉默片刻,抬起蹄子,轻轻拍了拍铁壳。

“三十年,辛苦你了。“它说,“下辈子,别给法师塔打工。”

它正要转身,系统界面忽然又跳出一行小字:

[警告] 检测到数据包经"直连旁路"发出……目标: 王都方向

猪仔的蹄子僵在半空。

“……还是让它跑出去一截。”

它检查了铁锅里封存的数据——少了一小段。不多,就一小段:坐标、时间,还有一行"异常生物特征”。

它深吸一口气,把火气压回去:“行。跑就跑吧。反正——”

它望向洞口外。那轮小月亮挂在天上,亮得反常,像一只睁着的眼睛。

“反正这村子,我本来就待不住了。”

次日清晨,猪仔是被钟声吵醒的。

不是鸡叫,是钟声。村口老槐树底下那口平时只有过年才敲的破钟,正"铛——铛——铛——“响个不停。

它一个激灵翻起来,冲出门。

晒谷场上已经乱成一团,村民全往村口跑。铁柱迎面撞上来,脸都白了:“大、大法师!哨兵响了!哨兵二号响了!”

哨兵二号——警报程序。猪仔心头一沉:“响了多久?”

“就、就刚才!响了三下!”

猪仔扒开人群,挤到村口,扶着老槐树往外一望——

晨雾里,官道尽头,一骑缓缓而来。

不是兰德。那匹马通体雪白,马背上坐着一个人,裹在一件灰白色的长袍里,兜帽压得很低,看不清脸。那人手里握着一根银色的短杖——法师塔制式,三阶以上,比兰德的粗一号。

它盯着那个越来越近的身影,忽然又想起兰德那句话:

“王都,还有别的猪。”

晨风里,白马停在村口。灰袍人掀开兜帽,露出一张年轻得过分的脸,和一双灰绿色的眼睛。

她看了看村口这头脏兮兮的猪,又低头看了看地上那圈淡金色的、还没散尽的侦测纹路,忽然笑了。

“有意思。“她说,“兰德那个废物,倒是没骗我。”

她跳下马,朝猪仔走了两步,站定:

“净化者,编号零七。奉命清剿’洞穴邪物’——”

她顿了顿,眼睛亮得吓人:

“——顺便,把会写’驻留程序’的猪,带回去。”

—— 本章完 ——

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