8

リモートマシンで(Webサーバーを使用して)約10分かかる作業を行う必要があります。

同じようにPythonでpxsshモジュールを使用しましたが、「タイムアウトエラー」(ブロッキングなし)が発生します。

今はparamikoを使っていますが、指示が出るとすぐに戻ってきます。

ジョブが完了するまでWebサーバーを待機させたい。これに利用できるPythonSSHモジュールはありますか?

または

またはの構成設定を変更することで同じことを実現できますpxsshparamiko

4

1 に答える 1

9

recv_exit_statusChannel でメソッドを使用して、コマンドが完了するまで待機できます。

recv_exit_status(self)

サーバー上のプロセスから終了ステータスを返します。これは主に、exec_command の結果を取得するのに役立ちます。コマンドがまだ終了していない場合、このメソッドは終了するまで、またはチャネルが閉じられるまで待機します。サーバーから終了ステータスが提供されない場合は、-1 が返されます。

例えば:

ssh = paramiko.SSHClient()
ssh.connect(remote, username=username, password=password)
ssh_stdin, ssh_stdout, ssh_stderr = ssh.exec_command("some command")
exit_status = ssh_stdout.channel.recv_exit_status()
于 2011-07-04T10:13:52.573 に答える