プロセス - oraccha/omicron GitHub Wiki

Process

タスク,スレッドなど用語の利用に混乱があるが,Unix ではスケジューリング単位と保護ドメインをセットにした概念. IBM の OS ではタスクと呼ばれる.

プロセスの概念は,Multics や EdsgerDijkstra 氏の THE システムで生まれた.


POSIX プロセス

プロセスグループ

  • 端末のアクセス制御や,シグナルを複数プロセスに配送するために使う.

  • シェルのジョブコントロールの実装に使われる.例えば,パイプラインでコマンドをつなぐと,それらのプロセス群が一つのプロセスグループになる.

  • setpgrp/getpgrpでプロセスグループIDを設定,取得する.

  • ioctl(TIOCSPGRP)/ioctl(TIOCGPGRP)は制御端末(シェル)のプロセスグループIDを設定,取得する.tcsetpgrp/tcgetpgrpというラッパライブラリも定義されている.

    • つまりsetpgrpとioctl(TIOCGPGRP)の値が一致すれば,フォアグラウンドプロセスで,異なればバックグラウンドプロセスということになる.