Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > IOクラス > pid

instance method IO#pid

pid -> Integer | nil[permalink][rdoc]

自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を 返します。それ以外は nil を返します。

[EXCEPTION] IOError:
既に close されている場合に発生します。


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