Erkennen ob ttyUSB0 oder ttyUSB1 angeschlossen ist / wird



  • Hi,

    kann ich z.B. in einem thread erkennen ob im Ordner "/dev" ttyUSB0 oder ttyUSB1 exitiert oder erzeugt wird.

    DIR* hdir=0;
        struct dirent* entry=0;
        struct stat attribut;
        char* pfad = "/dev";
    
        hdir=opendir(pfad);
    
        while(entry=readdir(hdir) ){
            stat(entry->d_name,&attribut);
    
            std::cout << entry->d_name << std::endl;
    
        }
    
        closedir(hdir);
    

    Aber wenn ich das z.B. in einen thread (posix) packe, dann ist das nicht sehr effektiv (braucht viel CPU) oder bin ich da auf dem Holzweg?

    Wie kann ich im Programm erkennen ob ttyUSB jetzt existiert bzw abgestöpselt wurde?

    Gruß
    Franky



  • Falls du udev und root-Zugang hast, würde ich es mit einer udev-Regel versuchen. Dann musst du nicht pollen, sondern wirst benachrichtigt sobald was passiert.


Anmelden zum Antworten