Mehrere stdout zu einem stdin

464
bi0phaz3

Ich bin unter Windows, obwohl ich unter Linux sein könnte, also sind Lösungen für beide willkommen.

Ich habe ein Programm, das im Wesentlichen ein Spiel mit 4 Spielern ist, die von jedem dieser Spieler eine Anweisung erhalten. Grundsätzlich besteht die Idee darin, 4 Gruppen zu haben, um eine KI für dieses Spiel zu erstellen. Ich muss das Stdout aller 4 dieser KI-Programme zum Stdin meines Wettbewerbsprogramms routen. Wie würde ich das machen?

1
`mkfifo`, [CreatePipe] (https://msdn.microsoft.com/de-de/library/windows/desktop/aa365152%28v=vs.85%29.aspx)? Alex vor 7 Jahren 0
Funktioniert eine Pipe für mehrere Standardausgänge? bi0phaz3 vor 7 Jahren 0
Siehe Beispiel in meiner Antwort Alex vor 7 Jahren 0

1 Antwort auf die Frage

0
Alex

Named Pipes akzeptiert Ausgaben von jedermann (wenn Berechtigungen es erlauben)

#!/bin/bash  mkfifo -m 666 /tmp/myfifo.pipe  ( echo 'Proc1' 1> /tmp/myfifo.pipe ) & PID1=$! ( echo 'Proc2' 1> /tmp/myfifo.pipe ) & PID2=$! ( echo 'Proc3' 1> /tmp/myfifo.pipe ) & PID3=$!  cat </tmp/myfifo.pipe > result.txt  wait $PID1 $PID2 $PID3  rm -f /tmp/myfifo.pipe