Cat gibt nicht alles aus einer FIFO Pipe aus

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von Gast123, 09.02.2013.

  1. #1 Gast123, 09.02.2013
    Zuletzt von einem Moderator bearbeitet: 10.02.2013
    Gast123

    Gast123 Guest

    Hallo Leute,

    ich arbeite an einem bash-Skript projekt, welches an die stdin eines Java-Programms Befehle sendet und die stderr des Programms ausgeben soll.
    Gestartet wird das ganze so:
    Code:
    exec $EXEC 0<> stdin 1<> stdout 2<> stderr
    In der Variable EXEC steht das Java-Programm - So weit, so gut.
    Wenn ich nun mehrere Sachen an die stdin schicke, wie z.B.:
    Code:
    for i in {1..6}; do minectl survival query say hello$i; sleep 1; done
    Bekomme ich an der Ausgabe der stdin folgendes:
    Code:
    cat stdin
    say hello1
    say hello2
    say hello3
    say hello4
    
    Und an der Ausgabe der stderr:
    Code:
    cat stderr
    2013-02-09 01:42:59 [INFO] [Server] hello5
    
    Offensichtlich passieren hier zwei Dinge:
    1) Was an der stdin ausgelesen wird, wird vom Programm nicht verarbeitet (Das ist eig. kein Problem da ich sie eh nur zum debuggen auslese)
    2) Kommen nicht alle Eingaben an der stdin an oder werden verarbeitet.

    Wenn ich ohne die stdin zu catten laufen lasse, passiert folgendes:
    Code:
    2013-02-09 01:50:34 [INFO] [Server] hello2
    2013-02-09 01:50:37 [INFO] [Server] hello4
    2013-02-09 01:50:39 [INFO] [Server] hello5
    Es kommen auch nicht alle Eingaben verarbeitet aus dem Programm raus.

    Wieso?

    MfG

    Schard

    EDIT:
    Oh mein Gott. Schon wieder habe ich ander falschen Stelle gesucht.
    Das Problem waren nicht die Pipes oder cat, sondern das Java Programm, welches fehlerhafterweise in mehreren Instanzen lief, die gegenseitig ihre Ressourcen blockiert haben.
    Jetzt funktioniert alles mit der o.g. Konfiguration einwandfrei.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Cat gibt nicht alles aus einer FIFO Pipe aus

Die Seite wird geladen...

Cat gibt nicht alles aus einer FIFO Pipe aus - Ähnliche Themen

  1. Debian entscheidet, dass es nichts zu entscheiden gibt

    Debian entscheidet, dass es nichts zu entscheiden gibt: Die Grundsatzentscheidung (GR), die Ian Jackson vor einem Monat wiederbelebte, ist entschieden. Die Entwickler gaben dem Initiator eine Abfuhr und...
  2. flashplugin gibt Sound nicht mehr aus

    flashplugin gibt Sound nicht mehr aus: Moin! Vorneweg, ich nutze 64-bit arch. Mein flashplugin (ich nutze das macromedia aus extra) gibt im konquerer bei Videos keinen Ton mehr aus. Die...
  3. LVM2 gibt Volume nicht frei

    LVM2 gibt Volume nicht frei: Hi *, auf einem meiner Mail-Server habe ich vor längerer Zeit mal ein Logical Volume für meine Mails eingrichtet. Dieses Volum möchte ich nun...
  4. "es gibt nicht umsonst..." english?!

    "es gibt nicht umsonst..." english?!: Hallo beisammen, kann mir jemand den Inhalt der u.g. Sätze sinngemäß ins Englische übersetzen? (alle drei sagen das Selbe aus..) "es gibt...
  5. Regex gibt nicht alles aus

    Regex gibt nicht alles aus: Hi, ich habe einen Regex für rapidshare links geschrieben, allerdings gibt er nicht alle Links aus. Er gibt z.b. nur jeden 2ten aus, oder nur den...