Der Martin: Antwort 2: „Chrome“ mal im Terminal starten.

Beitrag lesen

n'Abend Tom,

$DeinStartBefehl 1> ~/chromium.log 2> ~/chromium.log

kann das gutgehen? Mit zwei Handles konkurrierend in dieselbe Logdatei schreiben? Ich würde sicherheitshalber zwei verschiedene nehmen.

In Logdateien schreiben findet üblicherweise im Append-Mode statt

ja, das mag wohl sein. Hier haben wir aber den Fall, dass erst eine Datei zum Schreiben geöffnet wird (nicht append, sondern create!) und das stdout-Handle dann auf diese Datei gelenkt wird; dann wird dieselbe Datei mit einem zweiten Handle nochmal neu erzeugt und diesmal stderr auf dieses neue Handle gelenkt.[1] Das ist wtwas anderes als das koordinierte Schreiben mehrerer Prozesse in eine gemeinsame Log-Datei, das ja in der Regel über einen weiteren Prozess koordiniert wird, der die Schreibzugriffe serialisiert und geordnet umsetzt.

und da kümmert sich das Betriebssystem selber um Kollisionsfreiheit. Append-Schreiboperationen (auch über mehrere Threads hinweg) auf dieselbe Datei werden vom OS serialisiert.

Ja. Aber dann müsste man mindestens das stderr-Handle auch im Append-Modus umleiten, also mit 2>>, vielleicht sogar beide, damit's nicht knallt.

Und welch Wunder: das funktioniert sogar bei WINDoofs ;-P

Das ist nun wirklich erstaunlich.

Einen schönen Tag noch
 Martin

--
"Malen nach Zahlen" sagten wir im Matheunterricht, wenn es bei der Kurvendiskussion hieß: Zeichnen Sie den Graphen der Funktion ...

  1. Das zweite Öffnen derselben Datei im create-Modus müsste schon fehlschlagen (File Locking). ↩︎