5.1 プロセスID

Linuxではカーネルがinitを起動する際、以下の順番でパス検索し、はじめに見つかったinitを起動する。

  1. /sbin/init
  2. /etc/init
  3. /bin/init
  4. /bin/sh

initのPIDは1。
PIDの最大値は32768(/proc/sys/kernel/pid_max)。
PIDの割当ては単調増加方式で、サイクリックに使用される。
ただし、0〜300のPIDは再利用されない。

GNU Cでは、PIDはpid_t型(typedef int)。
getpid(2)システムコールでPIDを取得する。
getppid(2)システムコールで親プロセスのPIDを取得する。