• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Pipe 'time'

Hi,

ich habe ein c++ Programm, dass verschiedene Werte berechnet und per cout an die Konsole schickt.
Da ich Informationen über die Gesamt-Zeit und die CPU-Zeit benötige, starte ich das Programm per
Code:
time ./myprog
Das funktioniert soweit auch. Nun kommt mein Problem: Ich müsste die Ausgabe von meinem Programm UND das was time zurückliefert in eine Datei speichern.
Ich habe nachgelesen: das müsste doch eigentlich mit '> FILE' gehen, oder?
Ich habe das folgendermaßen versucht:
Code:
./myprog > myout.txt
Das hat auch geklappt. Wenn aber die time-Sache auch gespeichert werden soll?
Code:
time>myout.txt ./myprog>>myout.txt
funktioniert nicht, hier werden nur die Sachen von meinem Programm in die Datei gespeichert. time-Infos weden an die Konsole geschickt.

Hat jemand eine Idee?

Danke, Karl
 
A

Anonymous

Gast
Probier mal
Code:
( time ./myprog ) >>myout.txt 2>> myout.txt

robi
 
das einfachste wäre nicht mit dem Bash-Builtin zu arbeiten, sondern mit /usr/bin/time, dann hilft auch die manpage weiter (hint: /ur/bin/time -o foo.txt runme)
 
@robi: Perfekt, genau so gehts!

@TeXpert: das hatte ich mir auch schon überlegt. Mein Programm soll auf einem Parallelrechner mit mehreren Prozessoren laufen. Hierbei ist noch die Information wichtig, wie lange insgesamt an verschiedenen CPUs gerechnet wurde. Deshalb wollte ich ganz gern den fertigen Befehl 'time' verwenden. Der macht das nämlich automatisch.

Danke, Karl
 
Oben