いろいろ方法があるとおもうのですが、以下のようなシェルスクリプトですませるのはどうでしょうか?
#!/bin/bash
function kill_children {
# jobs -l | perl -ne 'print "kill $1\n" if /^\S+?\s+(\d+)/' | sh;
pkill -P $$;
wait;
}
trap "kill_children" EXIT
HOSTS="192.168.1.1 192.168.1.2"
for host in $HOSTS
do
ssh $host tail -F /service/foo/log/main/current &
done
wait
ちょっと箇条書きで解説すると以下のようなことをおこなっています。
非常にシンプルで、目的を達しているので、この方法はなかなか便利なのではないでしょうか。
(最初 perl で fork & exec でがんばろうとしてたけどこっちの方が簡単だとおもってやめた)
【20120828 追記】
https://twitter.com/a_rak/status/239164233219178496
pkill -P $$ の方がよさそうなのでさしかえた。