とあるnetの記事を見ていたら、watchdogタイマーのテストで以下を実行すると良いとか見た。
1 |
:(){ :|:& };: |
なんじゃ、この顔文字みたいなのは!と困惑していたのだが、よく見てみると、
「コロン(:)を名前とした関数を定義して、その関数内で自身を再帰的に呼び出して、パイプでつないで、バックグラウンド実行している。」といった感じだ。コロンじゃなくて、aとかでも同じ
1 2 3 |
$ a(){ a|a& } $ a |
上でも同じことになるし、理解しやすい。
実際にサーバ上でrootで実行すると、即座に何も出来なくなり、強制的に再起動するしか復旧方法が無さそう。
heartbeat構成で、サービス監視がしっかり出来ているか確認するときに使うと便利かも。
因みにFork爆弾と言って結構有名な手法らしい。wikipediaの解説がわかりやすい。
初めて見た時は、記号だらけなんで検索しても、全然ヒットしなくて困ったが、Fork爆弾って単語にたどり着いたらスッキリした。