pid -> Integer | nil[permalink][rdoc]自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を返します。それ以外は nil を返します。
例
IO.popen("-") do |pipe|
  if pipe
    $stderr.puts "In parent, child pid is #{pipe.pid}" # => In parent, child pid is 16013
  else
    $stderr.puts "In child, pid is #{$$}"              # => In child, pid is 16013
  end
end