У меня есть класс C ++, используемый для запуска и взаимодействия с внешними процессами (что-то вроде QProcess Qt - мы не можем использовать Qt, поскольку работаем над небольшой встроенной системой). Он использует системные вызовы pipe и dup2 для установления связи между родительским и дочерним процессом. Проблема в том, что он не работает с ssh, scp и другими программами, ожидающими пароль. Я настроил ssh, и кажется, что он открывает / dev / tty и каким-то образом использует его для чтения пароля из командной строки. Есть ли способ ввести пароль из моего класса или определить, что приложение ожидает ввода из какого-то другого источника, кроме stdin (совсем не обязательно быть переносимым)?