Если ваши программы готовы читать с FIFO, а не с tty, и вы просто читаете, а не пишете, вы можете использовать tee
и два FIFO:
mkfifo fifo1 fifo2
tee </dev/ttyS0 fifo1 >fifo2 &
Теперь вы можете открыть ] fifo1
и fifo2
и считывать одни и те же данные с каждого.
Если вам действительно нужен tty, вы можете добавить socat
для чтения каждого файла fifo и подключите его к pty:
socat -u GOPEN:fifo1 pty,link=$HOME/ttyPort1,raw,echo=0 &
socat -u GOPEN:fifo2 pty,link=$HOME/ttyPort2,raw,echo=0 &
Прочтите $ HOME / ttyPort1
и $ HOME / ttyPort2
.