上のプログラムの説明では、親プロセスProcess.waitpid(pid)を使って、プロセス番号pidのプロセスが
終了するのを待ってから、”done"を表示させてます。もしこれを行わないと、子プロセスが終了する前に親プロセス
が終了してしまいます。
Rubyプログラミング入門のP140には
この節のスクリプトはMS-DOSやWindowsではうまく動作しない場合があります。
と書いてました。その通りでWindows10では動かないものがあるようです。
ブログのアップに関してはUbuntuのfirefoxは不安定ですね。Windows10のほうが安定してます。
上のプログラムの解説では、次にように書かれてます。
execは新たなプロセスを生成するのではなく、自分のプロセスをexecの引数で起動されたプログラムへ
明け渡します。したがって、excec以降のコードは実行されません。