読者です 読者をやめる 読者になる 読者になる

bekkou68の日記

開発しているサービス, IT技術, 英語など。

『Working with Unix Processes』の Processes Can Wait を読みました

Unix 勉強会

はじめに

Processes Are Friendly の続きです。

まとめ

プロセスは wait できる。Ruby の Process.wait は「親プロセスのもつ子プロセスのいずれか一つが exit するまで親プロセスを待たせるブロッキングコール」である。Process.wait の戻り値は exit した子プロセスの pid である。
親プロセスが子プロセスを wait する前に子プロセスが終了してしまっても、カーネルが子プロセスの情報をキューイングして保持しているので、親プロセスはその子プロセスの情報を取得できる。つまりレースコンディションは起きないようになっている。
Unicorn では親プロセスで fork して子プロセスをつくり、子プロセスのハートビートを知ることで子プロセスの生存を定期的にチェックしている。

知らなかった単語やフレーズ

  • instruct: 指示する
  • keep tabs on: 監視する, 定期的にチェックする