/ #ruby #linux 

あるプロセスが終わるのを待って、そのあと何かをする

あるプロセスが終わるのを待ってから、別の何かをしたいときがある。

うっかり長い処理を走らせてしまったときとか。

  • それが終わった後に、dateコマンドを叩いて、終わった時刻が知りたい
  • それが終わった後に、何か別のことをやりたい(通知とか)

とかとか。

子プロセスなら wait が使えるのだけど。

こういうのでどうか

終わった後に date を叩きたいとして、

$ # pgrepとかでプロセス番号を調べておく
$ #
$ ruby -e "loop { Process.getpgid(プロセス番号) ; sleep 1 } " ; date

これならrubyさえあれば動く。

シェルスクリプトでループを書くやり方が覚えられない👼


Author

hoshinotsuyoshi

星野剛志(ほしのつよし) web application engineer. ruby/rails/docker