FreeBSD の起動時と終了時の rc の順番2015年11月12日 18時18分27秒

FreeBSD の起動時の rc スクリプトの順序は、各ファイルに記述されている依存関係を基に、rcorder で順番を求め、順次実行していく。

rcoder 自体を実行しても何の副作用も無いので一般ユーザでも動かせる。

% rcorder /etc/rc.d/*
/etc/rc.d/growfs
/etc/rc.d/sysctl
/etc/rc.d/hostid
/etc/rc.d/zvol
/etc/rc.d/dumpon
/etc/rc.d/ddb
...
rc.d ディレクトリのファイルを渡す。

これを一歩進めた、service というコマンドがあり、こちらは特定のファイルを rcoder に渡す。

% service -e
/etc/rc.d/hostid
/etc/rc.d/hostid_save
/etc/rc.d/cleanvar
/etc/rc.d/ip6addrctl
/etc/rc.d/netif
/etc/rc.d/devd
/etc/rc.d/newsyslog
/etc/rc.d/syslogd
/etc/rc.d/savecore
...
これで、そのシステム上で起動するスクリプトが順番に出てくる。

シャットダウン時の rc スクリプトの実行順は、man 等には記述は去れていない。そこで、シャットダウン時に実行される /etc/rc.shutdown をみると、そこで service -e の順番を逆にしていた。

つまり、シャットダウン時に実行される rc.d スクリプトは service -e の逆順と言う事になる。

更なる追求はまだしていないが、onestart 等で起動されたデーモンが、どのように処理されるのかは気になるところである。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2015/11/12/7905415/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。