aquaric Geschrieben 13. Juni 2005 Geschrieben 13. Juni 2005 Hallo, hab da ein kleines Problem, vielleicht kann mir einer weiterhelfen. Ich würde gerne aus einem C-Programm heraus ein Programm auf dem unterliegenden Linux-System ausführen (mit Kommandozeilenparametern). Ich habe gehört, das wäre mit execv() möglich. Aber wie komme ich an die Rückgaben der Programme ran (z.B. die Ausgabe der PID's beim "ps"-Befehl)? Diese will ich nämlich durch das C-Programm auswerten. Gibt es vielleicht sogar eine Möglichkeit aus dem C-Programm heraus mit den laufenden Programmen zu interagieren (z.B. Passworteingabe bei "su")? Vorab schon mal Danke für die Hilfe. Zitieren
Guybrush Threepwood Geschrieben 13. Juni 2005 Geschrieben 13. Juni 2005 Ein Programm kann außer einem Integer nichts zurückgeben und dieser wird nur vom Betriebssystem ausgewertet. Ich meine zwar mal gelesen zu haben das man diesen auch irgendwie abfragen kann, weiß aber nicht wie. Etwas komplexeres wie ein return 0 oder 1 oder eine andere Zahl geht aber auf alle Fälle nicht. Zitieren
aquaric Geschrieben 13. Juni 2005 Autor Geschrieben 13. Juni 2005 Gibt's dann vielleicht eine Möglichkeit mich als C-Programm an den stdout, stdin oder stderr des Betriebssystems zu hängen? Was Anderes machen Shells doch eigentlich auch nicht, oder? Zitieren
realisticer Geschrieben 14. Juni 2005 Geschrieben 14. Juni 2005 Morgen, schau dir mal die Funktion 'popen' an. mfg realisticer Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.