Múltipla stdout para um stdin

1

Estou no Windows, embora possa estar no Linux, portanto, as soluções para ambos são bem-vindas.

Eu tenho um programa que é essencialmente um jogo com 4 jogadores que recebem instruções de cada um desses jogadores. Basicamente, a ideia é ter 4 grupos para criar uma IA para este jogo. Preciso rotear o stdout de todos esses 4 programas de IA para o stdin do meu programa de concurso. Como eu faria isso?

    
por bi0phaz3 03.02.2017 / 02:20

1 resposta

0

Os pipes nomeados aceitam a saída de qualquer pessoa (se as permissões permitirem)

#!/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
    
por 03.02.2017 / 08:08

Tags