後始末(シグナルではなくてノート)

このままだとcatは入力を待ち続けて,終了しない.ctl-Dでも終了しない.なぜだろう?

ということでcatをkillする.killもUNIXとはちょっと違っている.killの引数はコマンド名で(pkillに近いね),しかも,killコマンドが本当にプロセスを殺すのではなく,"echo..."という出力を返す.

cpu% kill cat
echo kill>/proc/68725/note

この出力をパイプでrcに食わせることでプロセスを殺すことができる.

cpu% kill cat | rc

つまり,/proc//noteというファイルに"kill"という文字列を書き込むことでプロセスを殺すことができる.UNIXのシグナルに近いが整数値ではなく,文字列であることに注意しよう.文字列の方がシグナル番号の枯渇に悩む必要がないし,分散環境にもなんとなく適していて,スケールできそうである.