Prüfen welche Module geladen sind



  • Hallo zusammen,

    Ich schreibe einen Server der einmal in Echtzeit kommuniziert und einmal in nicht-Echtzeit. Für die Echtzeit benötige ich spezielle Kernel-Module die ich einbinde in dem ich aus C++ heraus ein Skript starte:

    system("sh /home/ModuleLaden.sh");
    

    Das läuft soweit ganz gut. Allerdings gibt es Probleme wenn ich das Skript ein zweites mal aufrufe oder wenn ich statt Realtime zu nicht-Realtime switche. Weiß also jemand wie ich überprüfe ob spezielle Module im Kern bereits geladen sind?

    Gruss,
    flambert





  • Schon. Aber klappt das auch im source? Ich kann vom Anwender nicht verlangen, dass er in der console arbeitet. Ich möchte im Program abfragen welche Module geladen sind und diese gegebenenfalls austauschen.



  • Ich kann vom Anwender nicht verlangen, dass er in der console arbeitet.

    Genau, von wem kann man das heute ueberhaupt?

    Aber klappt das auch im source?

    Bestimmt gibt es eine Funktion, ansonsten schaue dir den Quelltext von lsmod an, sollte sich um den Aufruf eines Systemcalls handeln.



  • Ruf du doch lsmod auf. Als Programmierer mußt Du sowas schaffen, popen.



  • Du kannst die Informationen aus /proc/modules auslesen und dann verarbeiten.



  • Auch wenn ich ungerne der nervige Typ bin, der immer nur "Lies doch die Manpage!" schreit:

    NAME
    
           lsmod -- program to show the status of modules in the Linux Kernel
    
    SYNOPSIS
    
           lsmod
    
    DESCRIPTION
    
           [b]lsmod  is  a  trivial  program which nicely formats the contents of the
           /proc/modules, showing what kernel modules are currently loaded.[/b]
    

    Siehe auch Ivos Post. 🙂


Anmelden zum Antworten