Ausgabeumleitung erzeugt leere Datei [duplizieren]

8

Das ist also wahrscheinlich eine dumme Frage, aber ich kann nicht sehen, was ich falsch mache.

Ich führe ein Programm aus, das eine Ausgabe erzeugt, wenn es wie ./ar aufgerufen wird. Die Ausgabe sieht folgendermaßen aus:

%Vor%

Eine neue Ausgabezeile wird jede Sekunde geschrieben.

Wenn ich den Code wie diese ./ar > log aufrufen und das Programm mit ctrl-c nach ein paar Sekunden beenden, ist die Datei log leer.

Ich führe diesen Code auf einem eingebetteten System aus. Das System hat eine beschreibbare Partition, die die Partition ist, in der ich arbeite, und ich habe Schreibzugriff, wenn ich als root angemeldet bin.

    
James 23.05.2013, 13:05
quelle

2 Antworten

1

Sind Sie sicher, dass Sie sich die Standardausgabe in Ihrem Anruf ansehen ./ar? Es könnte Standardfehler sein. Also, versuchen Sie ./ar & gt; log 2 & gt; err, um zwei Dateien zu haben, eine für stdout und eine für stderr.

Oder verwenden Sie ./ar 2 & gt; & amp; 1 & gt; log, um eine Datei für beide Streams zu erhalten.

    
Frank 23.05.2013 13:12
quelle
-1

Der Grund ist das faule Schreibkonzept des UNIX-Systems.

    
Anand Shah 23.05.2013 13:08
quelle

Tags und Links