我必须在远程计算机上完成一项工作(使用Web服务器),该过程大约需要10分钟。
我已经在python中使用了pxssh模块,但是它给了我“超时错误”(非阻塞)。
现在,我正在使用paramiko,但是一旦给出指示,它就会回来。
我希望Web服务器等待作业完成。是否有任何可用的python SSH模块。
或者
我们可以通过更改pxssh
或paramiko
的任何配置设置来实现相同的目的吗?
最佳答案
您可以在Channel上使用 recv_exit_status
方法来等待命令完成:
例如:
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()