Ich schreibe einen C-Daemon, der von der Existenz von zwei Kernel-Modulen abhängt, um seine Aufgabe zu erledigen. Das Programm verwendet diese (oder andere) Module nicht direkt. Es braucht sie nur, um zu existieren. Daher möchte ich programmgesteuert prüfen, ob diese Module bereits geladen sind oder nicht, um den Benutzer zur Laufzeit zu warnen.Programmgesteuert prüfen, ob ein Linux-Kernel-Modul zur Laufzeit existiert oder nicht
Bevor ich mit der Ausgabe von /proc/modules
oder lsmod
Ausgaben beginne, gibt es irgendwo schon eine Dienstprogrammfunktion? Etwas wie is_module_loaded(const char* name)
;
Ich bin mir ziemlich sicher, dass dies schon einmal gefragt wurde. Allerdings fehlen mir die richtigen Begriffe, um danach zu suchen.
Sieht sehr dreckig aus, aber es funktioniert und ich habe nie über so eine einfache Lösung nachgedacht. Prost – dgraziotin
Vorausgesetzt, dass lsmod "/ proc/modules" öffnet, und dass grep einen anderen Prozess beinhaltet und zusätzliche Datei für die Pipe geöffnet wird, wäre es effizienter, "grep module_name/proc/modules" zu verwenden und zu überprüfen, ob eine Ausgabe vorliegt das stattdessen? Dies würde auch funktionieren, selbst wenn lsmod nicht verfügbar wäre. – Jeremy