タグ

デーモンに関するakaneharaのブックマーク (5)

  • デーモンプロセスの作り方を通じて色々なことを再確認した - えいのうにっき

    続き。今回はデーモンプロセスについて。 Unixプロセスとリソースの基礎を再確認した - えいのうにっき プロセスとの情報のやりとりについて再確認した - えいのうにっき プロセスの適切な扱い方を再確認した - えいのうにっき Unixプロセスとシグナルの基礎をRubyで再確認した - えいのうにっき パイプとソケットでのプロセス間通信を Ruby で再確認した - えいのうにっき デーモンプロセスについて知るときに前提知識として外せないのが、「プロセスグループ」と「セッショングループ」というふたつの概念らしい。まずはそれについて再確認する。 プロセスグループとセッショングループ プロセスグループ 今までずっとプロセス単体について見てきていたけど、実はプロセスというものは、全てがいずれかの「プロセスグループ」というものに属している。各プロセスグループには、ユニークな整数のIDが振られている

    デーモンプロセスの作り方を通じて色々なことを再確認した - えいのうにっき
  • Linuxでプロセスのデーモン化 - Qiita

    プロセスと周辺の概念 TTY (仮想端末) |-セッション |-プロセスグループ |-プロセス 「TTY = セッション 1>N プロセスグループ 1>N プロセス」 プロセスの中の一つがセッションリーダーで、その中の複数がプロセスグループリーダー。 セッション TTYと結びついたログインセッションのこと。一つ以上のプロセスグループの集まりであり、セッションリーダーとなるプロセスが制御端末とやりとりをして端末切断時に子プロセスを全て終了させる役割を持つ。自身が属するセッション内でしかプロセスグループは生成できない。 プロセスグループ プロセスの集まりで、シグナルを他のプロセスへ送信することができる。メンバーはプロセスグループリーダーのプロセスIDをグループIDとして持つ。プロセスグループのリーダーになるにはsetpgid()かsetsid()を呼び出す。 fork() この関数を呼ぶとプロ

    Linuxでプロセスのデーモン化 - Qiita
  • 親プロセスは2度死ぬ - デーモン化に使うダブルforkの謎 - シリコンの谷のゾンビ

    デーモンプロセスを作る場合には,教科書によく書かれている2度forkは不要ではないか? ということを以前の記事に書いた. [c][unix]UNIXネットワークプログラミングのお勉強 (2) デーモンの作り方 - 睡眠不足?! 確かにBSDのdaemon(3) のコードでは,forkは1回しか呼んでいない. 「きっとプレセスがセッションリーダだと不都合があるのだろう.でもなぜ?」 というのがopen questionだった. それに対する答えを「詳解UNIXプログラミング」[1] に見つけた. SVR4においては,この時点でforkを再度呼び,親を終了することを勧める人がいる. 2番目の子がデーモンとして動作する.これは,デーモンはセッションリーダではなく, SVR4の規則 (9.6節) から,セッションリーダでなければ制御端末を取得できない,ということを保証する. あるいは,制御端末を取

    親プロセスは2度死ぬ - デーモン化に使うダブルforkの謎 - シリコンの谷のゾンビ
  • Linuxhack.jp » デーモンプロセスの構造

    バックグラウンドで呼び出しがあるまで待機状態にあり、呼び出されるときにだけ動作する特殊なプロセスとして、デーモンプロセスがあります。デーモンプロセスは名前こそデーモンとついてますが、基的に通常のプロセスと同じです。しかし、その動作には通常のプロセスとは異なる点がいくつかあります。具体的にはfork()、exec()系などのプロセス生成の過程において、実行するシステムコールは通常のプロセスと変わらないのですが、デーモンプロセスの特徴を実現するために行うプロセス生成の工程が異なります。デーモンプロセスを作成するためには以下のような処理が必要になります。 ・ファイスディスクリプタのクローズ ・端末セッションとプロセスグループの切り離し ・ワーキングディレクトリの移動 ・ファイル生成マスク値の変更 ・SIGCHILDシグナルの処理 以上の項目はデーモンプロセスを生成する上で、実装すべき処理になり

  • デーモンプロセスの実像にせまる!デーモンプロセスのヒ・ミ・ツ

    一般にデーモンプロセスとは,一般的にはインタラクティブに処理を行わず, 時間やある一定のトリガーによって動作する常駐プロセスのことを指す. そもそもデーモン(daemon)注1とは,ギリシャ神話に登場する「神々と人間の間に介在する 二次的な神」や「守護神」のことで,コンピューターの中で,人知れず動作する 「縁の下の力持ち」の常駐プロセスには,ふさわしい愛称と言えるだろう. さて,デーモンプロセスは,一般的なコマンドとして動作するアプリケーションと比較 してもそれほど複雑ではない.しかし,作り方によっては守護神にも悪魔に もなってしまう可能性を秘めている. デーモンプロセスを「守護神」にするか「悪魔」にしてしまうかは, プログラムの作者が正しい知識を持っているかどうかにかかっているといっても 過言ではない. 注1 デーモンといえば demon も日語読みでは同じ発音になるが, demonの

  • 1