次のルビーシェルがあります。
#!/usr/bin/env ruby
$stdin.each_line do |line|
pid = fork{
exec line
puts "after exec -> #{Process.pid}"
}
Process.wait pid
end
後のputs
メソッドexec
は実行されません。に基づいて、指定された外部を実行して現在のプロセスを置き換えるri Kernel.exec
ようです。exec
したがって、フォークされた新しいプロセスを外部プロセスに置き換えることになっています。exec
コマンドの後に何かを実行するにはどうすればよいですか?