Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Verarbeitung der Ausgabe von shell-Kommandos in C

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Markus
Gast





BeitragVerfasst am: 08. Aug 2001 14:25   Titel: Verarbeitung der Ausgabe von shell-Kommandos in C

Hi, könnt ihr mir helfen?

Ich würde gerne aus einem C-Programm auf konsole - Kommandos (also z.B. 'du' oder so) zugreifen und dann deren Ausgabe weiterverarbeiten.
Die Kommandos würde ich mit system() starten, aber wie komme ich an die Ausgabe ran?

Vielen Dank für jeden Tip!
Gruß,
Markus
 

Sebastian Ude
Gast





BeitragVerfasst am: 08. Aug 2001 14:52   Titel: Re: Verarbeitung der Ausgabe von shell-Kommandos in C

Hm ...

Eine Lösung über system() und irgendwelchen Abfang-Aktionen von den Ausgaben von 'du' o.ä. ist IMHO ziemlich unsauber.

Was hast du denn genau vor ?

Meinst du nicht, dass du mit statfs(2) / fstatfs(2) besser bedient wärst ?
 

Markus
Gast





BeitragVerfasst am: 08. Aug 2001 15:47   Titel: Re: Verarbeitung der Ausgabe von shell-Kommandos in C

z.B. würde ich mir gern ein Tool schreiben, daß mir die Belegung der verschiedenen Dateisysteme übersichtlich anzeigt (kennst Du Treesize unter Windows).

Wahrscheinlich gibt es genau so ein tool schon in zehnfacher Ausführung unter Linux, und ich finde auch 'du' super - aber manchmal bildet man sich eben ein das muß man jetzt programmieren.

Es würde mich aber ganz generell interessieren, ob es eine saubere Lösung gibt, die Ausgabe von Konsole Tools weiterzuverarbeiten. Bisher hab ich das über eine temporäre Textdatei gemacht, in die die Ausgabe weitergeleitet wurde. Ist natürlich ne Superlösung
Vielleicht kann man ja was mit ner pipe machen?

Was meinst du?

Gruß,
Markus
 

MD
Gast





BeitragVerfasst am: 08. Aug 2001 18:26   Titel: Re: Verarbeitung der Ausgabe von shell-Kommandos in C

Hi,

so was geht mit Pipes bzw. Fifo. Mußt mal im Archiv des Linux Magazin nach schauen, die hatten da mal einen interessanten Artikel. Z.B. wurde da die Ausgabe von ls verarbeitet

Bye
 

bakunin



Anmeldungsdatum: 16.08.1999
Beiträge: 597
Wohnort: Lorsch (Südhessen)

BeitragVerfasst am: 08. Aug 2001 19:24   Titel: Re: Verarbeitung der Ausgabe von shell-Kommandos in C

Hi!

Wenn ich mich recht erinnere, macht man das normal so: Man erzeugt eine Pipe, forkt, schließt im Kindprozess die Standardausgabe und öffnet ein Ende der Pipe als neue Standardausgabe, dann startet man das Programm und im Elternprozess liest man dessen Ausgabe aus dem anderen Ende der Pipe. Wenn dort dann ein EOF kommt, wartet man, bis das Kind terminiert.

man pipe
man fork
man close
man dup2
man execl
man waitpid

Berichtigt mich, wenn ich was vergessen habe oder falsch gesagt habe.

Cheers,
Wolfgang
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

Markus
Gast





BeitragVerfasst am: 08. Aug 2001 19:30   Titel: Re: Verarbeitung der Ausgabe von shell-Kommandos in C

Hi MD

Danke für den Tip!
War genau was ich gesucht hab.

Gruß
Markus
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy