Mac OS Xも同様のシステムを採用しています。
まずは、Macのプロセスの階層性を確認してみます。
#pstreeのインストール
$ wget ftp://ftp.thp.uni-duisburg.de/pub/source/pstree-2.27.tar.gz
$ tar xzvf pstree-2.27.tar.gz
$ gcc -o pstree pstree.c
#pstreeの実行
$ ./pstree
このツリーを眺めてみると、
rootユーザーが実行した/sbin/launchdというプロセスがすべての元のプロセス(PID : 1)ということができます。
そこで、このプロセスを停止(kill)してみるとどのような挙動が予測されるでしょうか。
UNIX系のOSにおいては親プロセスが停止されると子プロセスも強制終了されます。したがって、launchdを停止すると、システムが強制終了されることが予想されます。
実際に行ってみます
#( - 9)は強制終了のためのオプション
$ sudo kill -9 1
見事にシステムはシャットダウンされました。