タグ

UNIXとprogrammingに関するakira655のブックマーク (2)

  • デーモンプログラムの作成方法

    デーモンプログラム fork()、その後親プロセス終了。 プログラムを起動したシェルに制御が戻る。このfork()は新しいプロセスが プロセスグループリーダーにならないようにするため。 setsid()はプロセスグループリーダーだと失敗する。 setsid()によりプロセスグループとセッショングループのリーダーとなる。制御端末はセッションに関連づけらている。この新しいセッショ ンは制御端末を持たない。そのためこのプロセスは制御端末を持たない。 fork()して、親プロセス(セッショングループリーダー)は終了。デーモンが、セッショングループリーダーでないので、以後制御端末 を持つことがない。 chdir("/")。ファイルシステムを アンマウント出来ないことを避ける。 umask(0)として、書き出すあらゆるファイルのパーミッションを制御。 やらなくてもいいけど。 ファイルディスクリプタ0、

  • Super Technique 講座~キュー(FIFO)

    キュー(FIFO)とは、データ構造から見た「パイプ」のことである。「パイプ」は言うまでもなく、UNIXユーザならばお馴染みのコマンドラインで使うアレである。標準入力を、別なプログラムの標準出力に繋ぎあわせて...という風にシェルレベルでは解説されるものだが、勿論プログラミングのレベルでもそれに相当するシステムコールがあるだけではなく、ライブラリとは無関係なプログラマが作るデータ構造としても重要である。ここでは、「キュー(FIFO)」という見地で広く全体像を捉えてみよう。 キュー(FIFO)とは? データ構造としてのFIFO(連結リスト) データ構造としてのFIFO(リングバッファ) pipe(2) の使い方~双方向パイプ 名前付きパイプ キュー(FIFO)とは? そのそも FIFO とは、「First In, First Out」の略であり、「最初に入ったものが最初に出てくる」データ構造で

  • 1