KERNELD(8) | Linux Extensions | KERNELD(8) |
名前
kerneld -ユーザ空間でカーネルの動作を実行する (モジュールのオンデマンドロードなど)警告
kerneld は Linux カーネル 2.1.90 の時点で obsolete となり、 kmod カーネルスレッドと cron エントリによって置き換えられた。 2.0 カーネルを使っているのでなければ、 kerneld は使おうなどとも思わないほうがよい。書式
kerneld [ debug ] [ keep ] [ delay=<seconds> ] [ type=<message number> ]説明
kerneld は未使用モジュールを自動削除するほか、専用の IPC メッセージキューを経由してカーネルからのリクエストに応答し、カーネルの特定のタスクをユーザ空間で実行する。ユーザ空間からこのキューへのアクセスは、以下の操作でキューをオープンすることによって行える:qid = msgget(IPC_PRIVATE, 0600 | IPC_KERNELD);
kerneld メッセージの構造体は以下の通り。
struct kerneld_msg {
long mtype;
long id;
char text[1];
};
ここで id フィールドは kerneld
からカーネルへの応答メッセージの数として使われる。 id フィールドが 0 ならば、kerneld からの応答はないということである。
(なお、要求側の pid をプロトコルヘッダに入れる、新しい構造体が提案されている。)
応答が求められた場合には、kerneld の動作の終了ステータスが id フィールドに格納される。
text フィールドは、特定の kerneld 動作にカーネルから渡されたパラメータを保持するために使われる。
オプションを以下に示す:
- debug
- デバッグ機能を有効にすると、タスクを実行する度に kerneld の現在のステータスを見ることができるようになる。デバッグ機能や他の全てのパラメータの制御は kdstat ユーティリティで行える。
- keep
- keep オプションを指定すると kerneld はアンロード中のモジュールに対する全てのリクエストを無視する。このオプションは、(何らかの理由で) モジュールがアンロードされることが全く起こらないシステムでは役立つかもしれない。このオプションは、毎分 (あるいは <delay>秒ごとに) 実行される未使用のモジュールの自動削除も禁止する。
- delay=<seconds>
- delay オプションは未使用モジュールの削除に関する kerneld のタイムアウト時間を変更する。デフォルトの 60 秒から任意の時間に変更できる。
- type=<message type>
- デフォルトのタイプは -255 である。これは、kerneld がタイプの値が 255 以下である全てのメッセージを監視するという意味である。正の数を指定すると、kerneld は指定されたタイプのメッセージだけを監視する。
kerneld はエラーメッセージを syslog の LOG_DAEMON ファシリティに送る。
関連項目
insmod(8), rmmod(8), modprobe(8), depmod(8), syslogd(8)履歴
kerneld のアイディアは Jacques Gelinas <jack@solucorp.qc.ca>との議論から思い付いた。May 14, 1995 | Linux |