NetBSD の df に -h オプションがなかったので Ruby でラッパーを書こうかと思ったんだけど、 うっかり
out = `df -k` ...
とか書いて、それを ~/bin/df にインストールしてしまった。 で、df。
当然無限に自分を呼び続けることになってすごい勢いでリソースを消費していく。 ps してる間にもプロセスが増えていくので kill じゃ対処できないし、 killall ないし (あってもだめだったかも)、 もしかしてログアウトしたらねこそぎにできるかと思って exit してみたんだけど、ハードディスクの音が止まる気配もない。 ついでにメモリ不足で ssh もつながんないし、 シリアルコンソールはセットアップするの忘れてるし、 コンソールはもともとついてないし、で詰み。 しかたがないので電源切って落とした。 本当はどうするのがよかったんだろう。
(18:33)
DEC Celebris GL-2 2622 を買いました。 Pentium II 333MHz を二個のせてパワーアップだ!
最近外向けサーバの負荷が上がってきてるので、 せめて dual にしてやろうかと。
(21:06)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.
怖くて試せませんが、
>~/bin/df
で上書きすれば間に合えば止まるかも。
ああっ、そうか!
コマンドのほうを変えればいいんですね。
それは思いつかなかった……。
^Zでsuspendでは?
そっか。それでもうまくいきました。
けっこういろいろあるなあ。
今更ですが予めユーザーの最大プロセス数を制限しとくのがいいような。
*BSD なら
Terminate the process group with pgid 117:
kill -- -117
なんて出来るようですが。
もしくは慌てず root のシェルを確保しておく。root のプロセス枠がいくつか確保されてるはずだから。