Похоже, gdb поддерживает удаленную отладку.
Я никогда не использовал его, но http://davis.lbl.gov/Manuals/GDB/gdb_17.html выглядит как начало.
В основном вы запускаете программу под gdbserver на целевой машине, а gdb подключается (через TCP или последовательный) к gdbserver.
Вы можете попробовать модифицировать модуль утилит. Замените блок try-exc, на котором отклик response = raw_input () внутри:
response = sys.stdin.readline().strip()
Не забудьте импортировать sys, если он еще не импортирован.
Это должно позволить нормальную ТРУБКУ.
Или вы можете использовать библиотеку pexpect вместо модуля подпроцесса. Он знает, как обрабатывать ввод, который подправил флаги fcntl терминала или использует mscvrt в Windows.
Кроме того, при работе с данными PIPE не забывайте, что raw_input (), input () или sys.stdin.readline () не вернутся, пока не получат соответствующий символ конца строки. "\ r", "\ n" или "\ r \ n". Вы уже отправляли его с URL авторизации?