1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Logfiles & Terminals

Discussion in 'Linux-Distributionen' started by it-praktikant, May 23, 2004.

Thread Status:
Not open for further replies.
  1. it-praktikant

    it-praktikant Megabyte

    Hallo,

    ich experementiere gerade mit dem Kernel und da das Compilieren auf meiner Maschine etwa 2 Stunden braucht, schmeiße ich den Prozess abends an und lasse den Rechner dann irgendwann automatisch runterfahren. Die Kommandozeile sieht dann so aus:
    "make bzImage modules && shutdown -h hh:mm"

    Nun landen ja alle Warnungen und Fehlermeldungen, die auftreten auf der Konsole und wenn das Sytsem dann heruntergefahren ist, sehe ich die am nächsten Morgen nicht mehr. Also wollte ich einfach alles in eine Datei schreiben, trotzdem ander noch eine Ausgabe in der Konsole haben, falls ich doch mal raufschaue. Die Zeile sah dann so aus:
    "make bzImage modules &2>logfile && shutdown -h hh:mm"

    Hat aber nicht funktioniert. Das Logfile war leer. Also habe ich das so probiert:
    "make bzImage modules &2>1 &1>logfile && shutdown -h hh:mm"

    Nun wurden mir aber zwei leere Dateien namens "1" und "logfile" erstellt.

    Wie bekomme ich es also hin, dass ich eine Kopie aller Ausgaben der Terminals in eine Datei bringen kann?


    Ciao it.
     
  2. cirad

    cirad Kbyte

    Das funktioniert gleich in mehrfacher Hinsicht nicht. :) Erstens muß es 1>logfile heißen, da &logfile einen Filedescriptor meinen würde. Und zweitens wandert hier StdErr nicht in das Logfile, sondern auf das Terminal. Ich nehme an, das ist nicht gewollt. Die Reihenfolge spielt hier eine wichtige Rolle:
    1>logfile 2>&1 wäre dann korrekt.
     
  3. bitumen

    bitumen Megabyte

    da wird jede ausgabe ins logfile gesteckt, die konsole bleibt wieder sauber...
     
  4. cirad

    cirad Kbyte

    script logfile

    Danach wird eine extra Shell gestartet und alle Ausgaben auf dieser Shell ins Logfile und auf den Monitor geschrieben. Nach Beenden von script bist du wieder in deiner alten Shell. Mehr Infos unter man script.
     
  5. it-praktikant

    it-praktikant Megabyte

    also wenn ich das jetzt richtig interpretiere, dann müsste ich deine Zeile nur so manipulieren und ich würde es auf der Konsole wieder sehen:
    make bzImage modules 2>&1 1>&logfile && shutdown -h hh:mm

    Es sei denn, das "&"+"id" bedeutet, dass man auf einen bestimmten filedescriptor arbeitet.

    Ciao it.
     
  6. bitumen

    bitumen Megabyte

    Du hast die "&"-Zeichen vertauscht ;)

    make bzImage modules 2>&1 1>./log && shutdown -h now

    Damit wird stderr in stdout umgeleitet, und stdout in ./log .
    Dabei wird auf den Schirm nichts ausgegeben, das macht jedoch nichts, da du auf einem anderen terminal einfach mit cat ./log die aktuellen meldungen auslesen kannst.

    MfG, bitumen
     
Thread Status:
Not open for further replies.

Share This Page