プロセス - 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)の値が一致すれば,フォアグラウンドプロセスで,異なればバックグラウンドプロセスということになる.