Ruby で子プロセスでないプロセスが終了するのを待ちたいです。
ps
コマンドを使って以下のように無理やり実装出来なくは無いのですが…
もっと良い方法は無いでしょうか。
ruby
1pid1 = fork do 2 sleep 5 3 puts 'bye p1' 4end 5 6pid2 = fork do 7 loop do 8 break if `ps a | grep ruby`.split("\n").none?{|ps| ps.split[0].to_i == pid1} 9 sleep 1 10 end 11 puts 'bye p2' 12end
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/08 10:43