KERNELD

Section: Linux Extensions (8)
Updated: May 14, 1995
Index JM Home Page
 

名前

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);

各タスクはメッセージタイプを使ってリクエストする。 これは <linux/kerneld.h> で指定されている。

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> との議論から思い付いた。

関連キーワード

kerneld, KERNELD, カーネル, モジュール, メッセージ, 応答, delay, タイプ, フィールド, 実行

Linux マニュアル 一覧

[man1] [man2] [man3] [man4] [man5] [man6] [man7] [man8]
[a] [b] [c] [d] [e] [f] [g] [h] [i] [j] [k] [l] [m] [n] [o] [p] [q] [r] [s] [t] [u] [v] [w] [x] [y] [z]

 

Index

名前
警告
書式
説明
関連項目
履歴

This document was created by man2html, using the manual pages.
Time: 12:08:55 GMT, June 11, 2022