Veröffentlicht 13. Juni 200520 j 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.
13. Juni 200520 j 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.
13. Juni 200520 j 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?
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.