У меня есть пара программ Linux C, которые используют псевдотерминалы /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 друг другу">здесь Спасибо!