3

Rubyで現在のプロセスではないプロセスの親プロセスIDを取得するにはどうすればよいですか?

Ruby の Process モジュールを確認しましたが、現在のプロセス の PPID にアクセスする手段しか提供していないようです。

また、件名についてグーグルをチェックしましたが、最初の2ページには、前述のプロセスモジュールの使用方法に関するリンクのみが含まれているようでした.

基礎となるOSにあまり依存することなくこれを行うことを望んでいましたが、何でもうまくいきます。

4

3 に答える 3

6

シェルアウト:

1.9.3p429 :001 > `ps -p 7544 -o ppid=`.strip
 => "7540"
于 2013-07-17T03:24:11.840 に答える
2

変数でそれを覚えておくことができます:

parent_pid = Process.pid

Process.fork do
  child_pid = Process.pid
  puts parent_pid, child_pid
  # do stuff
  exit
end

Process.wait

# 94791
# 94798

または、親プロセスのレベルに関する情報が必要な場合:

parent_pid = Process.pid

child_pid = Process.fork do
  # do stuff
  exit
end

Process.wait
puts parent_pid, child_pid

# 6361
# 6362
于 2013-07-17T07:39:29.110 に答える