Несколько стандартных выходов на один стандартный
Я на Windows, хотя я мог бы быть на Linux, так что решения для любого приветствуются.
У меня есть программа, по сути, игра с 4 игроками, которая получает инструкции от каждого из этих игроков. По сути, идея состоит в том, чтобы создать 4 группы для создания ИИ для этой игры. Мне нужно направить стандартный вывод всех 4-х этих программ ИИ на стандартный уровень моей конкурсной программы. Как бы я это сделал?
1 ответ
Решение
Именованные каналы принимают выходные данные от кого-либо (если позволяют разрешения)
#!/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