У меня есть пара программ на Linux, которые используют псевдотерминалы /dev/pts/*
для связи друг с другом. Pty, с которым можно связаться, передается в качестве аргумента командной строки этим программам.
Я могу создать пару устройств pty с помощью socat следующим образом:
socat -d -d pty,raw,echo=0 pty,raw,echo=0
Вывод выше дает как:
2018/07/05 17:56:54 socat[58319] N PTY is /dev/pts/1
2018/07/05 17:56:54 socat[58319] N PTY is /dev/pts/3
2018/07/05 17:56:54 socat[58319] N starting data transfer loop with FDs [7,7] and [9,9]
как мне извлечь pty узлы /dev/pts/*
из вывода socat
и передать его моему приложению через командную строку в сценарии оболочки:
$./test_pty_app /dev/pts/1 &
$./test_pty_app /dev/pts/2 &
Я видел похожий вопрос, который может сделать это в Python здесь
Спасибо!