mount und Übergabe an c++



  • Dieses erfolgt mit

    mount
    

    /dev/sda16 on / type ext4 (rw,errors=remount-ro)
    proc on /proc type proc (rw,noexec,nosuid,nodev)
    sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
    none on /sys/fs/cgroup type tmpfs (rw)
    none on /sys/fs/fuse/connections type fusectl (rw)
    none on /sys/kernel/debug type debugfs (rw)
    none on /sys/kernel/security type securityfs (rw)
    udev on /dev type devtmpfs (rw,mode=0755)
    devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
    tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
    none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
    none on /run/shm type tmpfs (rw,nosuid,nodev)
    none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
    none on /sys/fs/pstore type pstore (rw)
    tmpfs on /media/ramdisk type tmpfs (rw,size=1G)
    binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
    systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
    rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)

    im Terminal, wie kann ich das mit c++ einlesen?
    Wichtigster Bestandteil ist die erste Zeile >>> /dev/sda16 , der Rest soll ignoriert oder wegeschnitten werden!
    Wichtig ist ausserdem, sda16 ist variabel und kann z.B sdb16 heissen.



  • Ich empfehle Dir, vollständige deutsche Sätze zu schreiben und mit einer klaren Frage abzuschliessen. Man kann erahnen, was Du willst aber so viel Zeit sollte von Deiner Seite aufgewendet werden.

    Ansonsten schaust Du Dir die Funktion popen(3) an.



  • Mit der Suchfunktion dieses Forums , Suchbegriff popen(3)

    Keine Beiträge entsprechen Ihren Kriterien.



  • man könnte auf einem Betriebssystem mit /proc support auch die Datei /proc/mounts öffnen und dort Zeilenweise einlesen.

    Vorausgesetzt das er das will. 😃



  • Mister C++ schrieb:

    Mit der Suchfunktion dieses Forums , Suchbegriff popen(3)

    Keine Beiträge entsprechen Ihren Kriterien.

    man 3 popen



  • man 3 popen

    Die manpages von Ubuntumate 14.04.1 (64 Bit) helfen mir hier nicht!!



  • Die man pages zu popen sind glaube ich überall gleich.

    Wenn dir popen nicht hilft solltest du wirklich nochmal genauer spezifizieren was du eigentlich machen willst.
    Der Grund warum popen als erste Idee geliefert wurde war die Annahme das du den Output eines Kommandos irgendwie bearbeiten möchtest. Dazu benutzt man popen. Steht übrigens auch in der Beschreibung der Funktion.

    Also was möchtest du genau?
    Warum ist popen nicht das was du brauchst?



  • Ah ja popen ist überall gleich!?

    Ich möchte mit g++ systemcommand programmieren.
    Dazu will ich den Ubuntu Terminalbefehl mount nutzen.
    Die Ausgabe des commandos soll umgeleitet werden damit der c++ code diesen auswerten kann, dzu sollen die unwichtigen Bestandteile entweder ignoriert oder geschnitten werden, im folgenden soll der geschnittene Bestandteil mit einem systemcommando, das im c++ code steckt weitergereicht werden.



  • Super.
    Dann benutze popen. Oder öffne die Datei /proc/mounts und liess die Daten von dort. Der Inhalt ist weitgehend identisch. Der Befehl mount, der nicht nur bei Ubuntu mount heisst sondern auch auf vielen anderen unix ähnlichen Systemen, macht auf einem Linux System im allgemeinen nichts anderes.



  • Dann benutze popen. Oder öffne die Datei /proc/mounts und liess die Daten von dort.

    Das ist mir nicht klar. Und beschreibt eine andere Lösung.
    Poste doch bitte ein Beispiel, das ich nachvollziehen kann.



  • Mach doch einfach was Dir gesagt wird. "Poste ein Beispiel" = "Mach meine Arbeit, ich kann nur abschreiben."



  • Mister C++ schrieb:

    Dann benutze popen. Oder öffne die Datei /proc/mounts und liess die Daten von dort.

    Das ist mir nicht klar. Und beschreibt eine andere Lösung.
    Poste doch bitte ein Beispiel, das ich nachvollziehen kann.

    Nö.
    Es gibt im Internet bestimmt 1 Million Beispiele wie man popen verwendet. Da muss ich nicht das 1 Million und erste hinzufügen.


Anmelden zum Antworten