プロセスグループ
POSIXの仕様では、プロセスが偶然にグループリーダーなることはないと定めている。そのため、あるプロセスIDがプロセスグループIDとして使われている間は、それがプロセスIDとして再利用されないようにする必要がある。プロセスグループのリーダーになるには、明示的に setpgid() または setsid() システムコールを呼び出す必要がある。
setpgid()システムコールは新たなプロセスグループを生成したり、プロセスを既存のプロセスグループに入れたりする汎用の呼び出しである。リーダーになるには、自身のプロセスIDを指定すればよいが、通常 setpgid(0,0) という形で呼び出す。シェルがコマンドパイプラインのために新たな子プロセスをforkすると、親であるシェルプロセスと子プロセスは直ちにそのプロセスをプロセスグループリーダーにしようとする。(両者がそれを試みるのは、子プロセスがプロセスグループリーダーになろうとすること、子プロセスがコマンドを実行しようとすること、親または端末デバイスドライバがジョブコントロールのシグナルをそのプロセスグループに送ろうとすること、これらの競合状態が発生するのを防ぐためである。)
プロセスグループ自体はセッション (session) の一員となる。これはテキストユーザインタフェースが使われているUnix系システムで使われたもので、いわゆる「ログインセッション」を意味している。