個人でシステム開発やデータ管理を行っているNさんが、過去に体験した話。
深夜の静まり返った自室で、Nさんは毎夜自動実行されるデータベースの定期バックアップ処理、いわゆる夜間バッチの終了を待っていた。実務で使うサーバーのメンテナンスも兼ねて、手元のローカル環境でcronと連動させたSQLのダンプスクリプトを走らせていた。
画面の端でコマンドプロンプトのカーソルが点滅し、処理は滞りなく進んでいるように見えた。やがて「Process Completed Successfully」の文字が表示され、バックアップの完了を告げる通知音が響く。
Nさんはログファイルを開いた。いつものルーティンワークだ。だが、そこで手を止めた。
完了までの実行時間が、普段の平均より三倍近く長い。さらに、出力されたバックアップファイルの容量を確認すると、直近のデータ量に対して数ギガバイト分も不自然に膨れ上がっていた。
「容量の肥大化か? インデックスの再構築でもバグったか…」
Nさんは首を傾げながら、その肥大化したバックアップのアーカイブを一時ディレクトリに展開し、中身を精査することにした。テーブルごとのダンプデータやトランザクションログが並ぶ中、見慣れない拡張子のテキストファイルが一つ混ざっていることに気づく。ファイル名は、現在のタイムスタンプとランダムなハッシュ値だった。
外部への通信は遮断している。外からデータがアップロードされた形跡もない。不審に思いながら、Nさんはそのファイルをテキストエディタで開いた。
画面に表示された瞬間、Nさんの指がピタリと止まった。
ファイルに書かれていたのは、SQLのクエリでもサーバーのエラーログでもなかった。そこには数日前にノートの端に書き殴り、すぐに丸めてゴミ箱へ捨てたはずの、自分自身の独り言や思考のログが延々と並んでいた。
『なぜこの仕様書通りに動かないのか、原因が全く見当たらない』
『なんでこのライブラリだけビルド時にエラーが出るのか、理由がわからない』
『自分は何をしているんだろう、このままコードを書き続けて意味があるのか』
記憶の隅に追いやったはずの、誰にも見せていない矮小な思考の断片。しかも、それだけではない。ファイルの一番下、最終行のカーソルがわずかに点滅している。
よく見ると、カーソルの直前で文字がリアルタイムに足されていく。
『背後を確かめたが、そこはシンと静まり返っていた』
「…は?」
背筋に冷たいものが走った。Nさんは反射的に自分の後ろを振り返ったが、シンと静まり返っている。
キーボードから手を離しているにもかかわらず、テキストエディタのカーソルは規則的なストロークではなく、まるで人間が迷いながらタイピングしているかのように、不規則な速度で文字を紡ぎ続けている。
『今、後ろを振り返ったな』
『なぜ見ない。ここにいるのに』
画面の向こうから、カチャカチャと乾いた打鍵音が聞こえたような気がした。自分の部屋の音ではない。データベースのバックアッププロセスが、何故かNさんの意識の深層に接続し、言語化される前の思考そのものを吸い上げてテキスト化しているような、悍ましい錯覚。
パニックになったNさんは、マウスを掴んでウィンドウを閉じようとした。しかし、クリックした瞬間、PCのファンが突然けたたましい爆音を上げ始め、コンソール画面に新しいエラーコードが大量に吐き出された。
[Fatal Error: Process cannot be terminated. The thread is bound to user session.]
「嘘だろ…なんでだよ…」
Nさんは電源ユニットのスイッチを力任せに押し、強制終了させた。
ブツン、とファンの音が途絶え、モニターの光が消えると、部屋には深夜の重苦しい静寂だけが戻った。
翌日、明るくなってから恐る恐るPCを立ち上げ、昨夜のディレクトリを確認したが、例のテキストファイルも肥大化したバックアップデータも綺麗に消えていた。容量もいつもの数値に戻っている。
ただ、それ以来、夜間バッチが走る深夜2時になると、NさんのPCのCPU使用率が理由もなく跳ね上がり、テキストエディタを開かなくても、バックグラウンドのプロセスリストの一番下に、名前のない空のタスクが常駐するようになったという。


0 件のコメント:
コメントを投稿
I'm sorry, Japanese text only.
荒らし目的と思われるコメントは気づき次第対処します。