私はCデーモンを作成しています。これは、2つのカーネルモジュールが存在するかどうかによって異なります。プログラムはこれらの(または他の)モジュールを直接使用しません。彼らは存在する必要があるだけです。 したがって、実行時にユーザーに警告するために、これらのモジュールが既にロードされているかどうかをプログラムでチェックしたいと思います。実行時にLinuxカーネルモジュールが存在するかどうかをプログラムで確認してください。
/proc/modules
またはlsmod
の出力を解析する前に、ユーティリティ関数はすでにどこかに存在していますか? のようなものis_module_loaded(const char* name)
;
私は以前これが尋ねられていると確信しています。 しかし、私はこれを検索するための正しい条件が不足していると思います。
非常に汚れているように見えますが、それは機能し、私はこのような単純な解決策について考えたことはありません。 Cheers – dgraziotin
lsmodが "/ proc/modules"を開き、grepが別のプロセスを含み、パイプ用の追加ファイルが開かれた場合、 "grep module_name/proc/modules"を使用し、代わりに? lsmodが利用できない場合でも、これは動作します。 – Jeremy