11

私は C デーモンを作成しています。このデーモンは、ジョブを実行するために 2 つのカーネル モジュールの存在に依存しています。プログラムは、これらの (または他の) モジュールを直接使用しません。それらが存在することだけが必要です。したがって、実行時にユーザーに警告するために、これらのモジュールが既にロードされているかどうかをプログラムで確認したいと思います。

解析/proc/moduleslsmod出力などを始める前に、ユーティリティ関数はどこかに既に存在しますか? のようなものis_module_loaded(const char* name);

これは以前に尋ねられたことがあると確信しています。ただし、これを検索するための正しい用語が不足していると思います。

4

2 に答える 2

18

そのような機能はありません。実際、lsmod ( lsmod.c) のソース コードには次の行が含まれており、ソリューションにつながるはずです。

file = fopen("/proc/modules", "r");

非推奨のquery_moduleものもありますが、最近ではカーネルヘッダーにのみ存在するようです。

于 2012-10-19T16:58:29.110 に答える