ssh-agent コマンド
ってやってssh-agentを起動する時、
普通に考えると「コマンド」はssh-agentの子プロセスになると思いがちだけど、
実際にはssh-agent内部でfork()した後、その親プロセス側が「コマンド」をexec()する。

「コマンド」が親で、ssh-agentが子プロセスになる。
で、このままでは「コマンド」の終了をwait()やSIGCHLDとかで検出できないので、
ssh-agentはわざわざ10秒おきに「コマンド」が終了したかどうかチェックしてる。

何故わざわざ親と子を逆にして面倒なことをしているのでしょう?
何か理由があるのでしょうか?