Dienstag, 22. Mai 2012, 05:49

Du bist nicht angemeldet.



lacarpe

ist fest eingezogen.

  • »lacarpe« ist der Autor dieses Themas

Beiträge: 509

Ubuntu: ---

Kernel: 2.6.32 (Debian Squeeze)

Desktop: Xfce

Architektur: 64-bit

  • Private Nachricht senden

1

Samstag, 18. August 2007, 10:08

Fehlermeldung der Shell in eine Datei umleiten

Guten Morgen liebe Freunde,

zu Testzwecken starte ich eine Javaapplikation bewusst mit zu niedrigen Heapwerten über die Shell:

Quellcode

1
DISPLAY=:0 java -Xms5m -Xmx5m testprogramm &


In der Shell erscheint auch die gewollte Fehlermeldung:

Quellcode

1
2
3
 Exception on Toolkit thread: java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space
Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space


Ich möchte nun diese Fehlermeldung in eine Datei umleiten und dachte, so ginge es:

Quellcode

1
DISPLAY=:0 java -Xms5m -Xmx5m testprogramm >> log.txt &


Die datei log.txt wird angelegt, bleibt aber leer. Die Fehlermeldung erscheint nachwievor in der Shell. Was mache ich falch?

Auch ohne das "&"-Zeichen am Ende erhalte ich keine Ausgabe in der log-Datei:

Quellcode

1
DISPLAY=:0 java -Xms5m -Xmx5m testprogramm >> log.txt


Herzlicher Gruß,
lacarpe
ubuntufreund No. 30
think globally, act locally

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »lacarpe« (18. August 2007, 10:21)


lacarpe

ist fest eingezogen.

  • »lacarpe« ist der Autor dieses Themas

Beiträge: 509

Ubuntu: ---

Kernel: 2.6.32 (Debian Squeeze)

Desktop: Xfce

Architektur: 64-bit

  • Private Nachricht senden

2

Samstag, 18. August 2007, 10:20

Ich habe es selbst rausgefunden:

Da es sich nicht um eine Standardausgabe (stdout), sondern um eine Fehlerausgabe (stderr) handelt, muss statt ">>" die Anweisung "2>>" verwendet werden, also

Quellcode

1
DISPLAY=:0 java -Xms5m -Xmx5m testprogramm 2>> log.txt &
ubuntufreund No. 30
think globally, act locally

ezazazel

The Supporter

Beiträge: 719

Ubuntu: 11.10

Kernel: 3.0.0-14-generic

Architektur: 32-bit

  • Private Nachricht senden

3

Samstag, 18. August 2007, 10:43

Grundlegendes:

JobManagement

Quellcode

1
befehl &     ..... scheibt einen Prozess in den Hintergrund

Quellcode

1
jobs            ..... zeigt die Hintergrundprozesse an

Quellcode

1
fg id            ..... holt den Prozess wieder in den Vordergrund


conditional Redirect

Quellcode

1
&&               ..... ist eine konditionale Befehlsverknüpfung und führt den darauffolgenden Befehl nur aus, wenn der vorhergehende keinen Fehler wirft

Quellcode

1
||                  .....ist das Gegenstück dazu, also der darauffolgende Befehl wird nur ausgeführt, wenn der vorhergehende abbricht


Redirect

Quellcode

1
>                  ..... Weiterleitung in eine neue Datei, bestehende Datei wird überschrieben

Quellcode

1
>>                ..... Weiterleitung in Datei, wird erstellt wenn nicht vorhanden, ansonsten angehängt


StandardOutput

Quellcode

1
0                    .... .stdin Standard Input  (Keyboard)

Quellcode

1
1                    ..... stdout Standard Output (Screen)

Quellcode

1
2                    ..... stderr Standard Error (Screen)
Si non confectus, non reficiat (If it's not broken, don't fix it)
Shuttle XPC SD39P2; Intel Core2Duo 6420; Samsung T166 SATA II 3,5" 500GB; Gainward Bliss 8600GT PCX SilentFx, Cinergy T USB XS hybrid && MSI Wind Nettop && Toshiba Portege M700 && Acer Aspire One

lacarpe

ist fest eingezogen.

  • »lacarpe« ist der Autor dieses Themas

Beiträge: 509

Ubuntu: ---

Kernel: 2.6.32 (Debian Squeeze)

Desktop: Xfce

Architektur: 64-bit

  • Private Nachricht senden

4

Samstag, 18. August 2007, 15:51

Schöne Übersicht! Wäre das nicht was für die HowTos?
ubuntufreund No. 30
think globally, act locally