DEVD(8)

名称
devd - デバイス状態変化検出デーモン

書式
devd [-Ddn]

解説
devd デーモンを使って、あるカーネルイベントが起こった時にユーザランドの プログラムが起動するように設定することができます。

次のオプションが使用できます。

-D  デバッグメッセージを有効にします。

-d  デーモンではなく、フォアグラウンドで起動します。

-n  デーモンを起動する前にペンディングになっているイベントをすべて無視して デーモンをすぐに起動します。

実装に関する注
devd ユーティリティは 常時バックグラウンドで走るシステムデーモンです。 デバイスツリーにデバイスが追加されたり、削除されたりすると devd は、 devd.conf(5) で指定されたアクションを実行します。 例えば devd は、 イーサネットアダプタがシステムに追加された時に dhclient(8) を起動して、 そのアダプタが外された時には dhclient(8) インスタンスを停止するということができます。 また例えば devd にテーブルを利用させることで、 システムに追加された認識できないデバイスの正しいドライバを特定し、 kldload(8) でロードすることもできます。

devd ユーティリティは devctl(4) デバイスドライバをフックします。 このデバイスドライバは、デバイスコンフィギュレーションシステムを フックしていて、デバイスツリーにノードが追加・削除された時には このデバイスから devd にイベント情報が配信されます。 devd がそのメッセージをバースするとアクションリストから 最も一致度の高いアクションを選択して、それを実行します。 ほとんどの普通のユーザにはデフォルトのハンドラで充分ですが、 より詳しいユーザが動作の細かいところまでを変更することも できるようになっています。

devd ユーティリティは ファイル /etc/devd.conf を読み込んで処理を行います。 このファイルのフォーマットについては devd.conf(5) に詳しく書いてありますが、 基本的なところをここでさらっておきます。 options セクションには、設定ファイルをサーチするディレクトリを 2 つ以上設定することができます。 ここで設定したディレクトリにあるファイルで、名前が *.conf というパターンに一致するものはすべてパースされます。 このようなファイルは、サードパーティがインストールして ユーザの他の設定ファイルを変更せずに devd システムをフックするためのものです。

devd が受け取ったメッセージはすべて /var/run/devd.pipe の UNIX ドメインソケットに転送されます。

関連項目
devctl(4), devd.conf(5)

作者
M. Warner Losh