Schreiben und lesen von einem Fifo aus zwei verschiedenen Skripten

9

Ich habe zwei Bash-Skripte. Ein Skript schreibt in einem Fifo. Der zweite liest aus dem FIFO, aber NACH dem ersten Ende zu schreiben.

Aber etwas funktioniert nicht. Ich verstehe nicht, wo das Problem liegt. Hier der Code.

Das erste Skript ist (der Schreiber):

%Vor%

Das zweite Skript ist (der Leser):

%Vor%

Kann mir bitte jemand helfen? Danke

    
Ciccio 17.09.2014, 21:46
quelle

3 Antworten

6

Ersetzen Sie das zweite Skript durch:

%Vor%

Dies öffnet den FIFO nur einmal und liest jede Zeile daraus.

    
John1024 17.09.2014, 22:09
quelle
2

Das Problem mit Ihrer Einrichtung ist, dass Sie eine Fifo-Erstellung im falschen Skript haben, wenn Sie den Fifo-Zugriff auf die Zeit steuern möchten, zu der der Reader tatsächlich läuft. Um das Problem zu beheben, müssen Sie Folgendes tun:

Leser: fifo_read.sh

%Vor%

Schreiber: fifo_write.sh

%Vor%

Vorgang: (Leser im ersten Terminal starten)

%Vor%

(Schreiber im zweiten Terminal starten)

%Vor%

Ausgabe im 1. Terminal:

%Vor%     
David C. Rankin 18.09.2014 04:55
quelle
0

Das folgende Skript sollte den Job erledigen:

%Vor%

Gegeben zwei Skripte a.sh und b.sh, bei denen beide Skripte "a" und "b" an stdout übergeben, erhält man das folgende Ergebnis (vorausgesetzt, dass das obige Skript test.sh heißt):

%Vor%

Am besten,   Julian

    
Julian 14.07.2016 08:16
quelle

Tags und Links