Fork爆弾

Bashを利用した :(){ :|:& };: などがある

http://ja.wikipedia.org/wiki/Fork%E7%88%86%E5%BC%BE

はじめは何をしているかピンとこなかった
結局これは:という名前の関数を定義して実行しているわけだ
関数名は何でもいいのだから、以下でも同じ

foo(){ foo|foo& };foo

パイプによって同時に2つのfooを再帰起動している
バックグラウンド起動なので親のfooが終了しても子は終了しない

2つが同時に自分を実行ってことは、Cで書くとこんな感じか?

#include <unistd.h>
main(){
  fork();
  main();
}