我正在编写一个C守护进程,这取决于是否存在两个内核模块以完成其工作。该程序不直接使用这些(或任何其他)模块。它只需要它们存在。 因此,我想以编程方式检查这些模块是否已经加载,以便在运行时警告用户。以编程方式检查在运行时是否存在linux内核模块
在我开始执行诸如解析/proc/modules
或lsmod
输出之类的事情之前,某个地方是否存在实用函数? 类似于is_module_loaded(const char* name)
;
我非常确定这已被问过。 但是,我想我错过了正确的术语来搜索这个。
看起来很肮脏,但它的工作原理,我从来没有想过这样简单的解决方案。干杯 – dgraziotin
假设lsmod打开“/ proc/modules”,并且grep涉及另一个进程并为管道打开附加文件,使用“grep module_name/proc/modules”会更有效,并检查是否有任何来自而不是?即使lsmod不可用,这也可以工作。 – Jeremy