модуль python pty - буфер зависает? - PullRequest
1 голос
/ 13 октября 2011

Я пытаюсь создать небольшой модуль, который открывает ssh-соединение и позволяет отправлять команды через ssh и возвращать вывод команды.При этом должно быть только одно соединение ssh (чтобы несколько команд не вызывали автоблокировку).Я знаю о paramiko, но я не могу использовать его, поскольку мне приходится использовать python3.2 из-за других ограничений.

Модуль, который я написал, находится здесь: http://kbicker.web.cern.ch/kbicker/ssh.py

В принципе, этоработает.Однако при использовании cat для чтения текстового файла программа зависает.Я решил, что это потому, что чтение новой строки из pty зависает.Я предполагаю, что есть какая-то проблема с буфером, но я не знаю, как ее решить.

Буду также признателен за любые другие советы по моему коду.

Заранее спасибоза вашу помощь!

Ответы [ 2 ]

1 голос
/ 22 октября 2011

Решено, или, по крайней мере, обошлось:

Используя поток с опцией ssh ​​-M, я мог бы открыть одно главное ssh-соединение, а команды открыть собственный подпроцесс ssh, который соединяется через главное соединение, тем самым устраняя необходимость открывать более одного соединения.

0 голосов
/ 14 октября 2011

Попробуйте pexpect . Я столкнулся с подобной проблемой, и она решила ее.

...