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   カーネル   メッセージ   delay   応答   タイプ   ユーザ   空間   keep   type   未使用   リクエスト   タスク   debug   seconds   message   特定   キュー   構造体   long   text   ステータス   デバッグ   アンロード   時間

Linux マニュアル 一覧

関連するコマンド・関数

kdstat.8   netlink.7   msgctl.2   in.ntalkd.8   in.talkd.8   ntalkd.8
 

Index

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

This document was created by man2html, using the manual pages.
Time: 04:38:46 GMT, October 11, 2026