2011-10-13 5 views
1

私はssh接続を開き、sshを介してコマンドを送信してコマンドの出力を返すことができる小さなモジュールを作ろうとしています。これにより、複数のコマンドが自動ブロックを引き起こさないように、ssh接続が1つだけ必要です。私はparamikoを知っていますが、他の制約のためにpython3.2を使用しなければならないので、私はそれを使用できません。私が書いたpython ptyモジュール - バッファがハングしますか?

モジュールはここにある:原則としてhttp://kbicker.web.cern.ch/kbicker/ssh.py

、それが動作します。しかし、catを使ってテキストファイルを読むと、プログラムがハングします。私はptyから新しい行を読み込むことができないので、これが正しいと判断しました。私は、ある種のバッファの問題があると仮定しますが、私はそれをどのように解決するのか考えていません。

私のコードに関する他のアドバイスにも感謝します。

ありがとうございました!

答えて

1

のssh -Mオプションでスレッドを使用することにより、私はオープン1つのマスターssh接続を持っているかもしれないコマンドは、マスターを介して接続、独自のSSHサブプロセスを、開きますこれにより、複数の接続を開く必要性が緩和される。

0

お試しpexpect私は同様の問題に遭遇し、それを解決しました。

解決、あるいは少なくともその周りに働いた
+0

python3.2では利用できないため、pexpectは使いたくありませんでした。私はssh接続の使用方法を変更することで私の問題を解決しました。私の答えを見てください(これは私がこれを書いている時点で書かれています...)。 – explorerDude

関連する問題