Rubyで現在のプロセスではないプロセスの親プロセスIDを取得するにはどうすればよいですか?
Ruby の Process モジュールを確認しましたが、現在のプロセス の PPID にアクセスする手段しか提供していないようです。
また、件名についてグーグルをチェックしましたが、最初の2ページには、前述のプロセスモジュールの使用方法に関するリンクのみが含まれているようでした.
基礎となるOSにあまり依存することなくこれを行うことを望んでいましたが、何でもうまくいきます。
Rubyで現在のプロセスではないプロセスの親プロセスIDを取得するにはどうすればよいですか?
Ruby の Process モジュールを確認しましたが、現在のプロセス の PPID にアクセスする手段しか提供していないようです。
また、件名についてグーグルをチェックしましたが、最初の2ページには、前述のプロセスモジュールの使用方法に関するリンクのみが含まれているようでした.
基礎となるOSにあまり依存することなくこれを行うことを望んでいましたが、何でもうまくいきます。
シェルアウト:
1.9.3p429 :001 > `ps -p 7544 -o ppid=`.strip
=> "7540"
変数でそれを覚えておくことができます:
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