複数サーバーでtail -fする

各サーバーへ入ってなんか状態を監視というのをやりたいことがあります。各サーバーのログファイルをtail -fとか。それだけだと、単にforkして何かコマンド実行させればよいだけ、だったりしますが、単にそうしてしまうと、標準出力などがメインのプロセスになってくれないので、監視した結果をgrepしてどうこうとか、そういうのができないので、できるように書いてみました。

https://gist.github.com/1948000

forkして子プロセスでコマンドを実行し、その出力をPIPEでプロセス間通信して、メインプロセスから出力してやることで、複数サーバーに同時にtail -fとかしつつ、grepかけるようにできるようになったのでした。