python – 基本的paramiko exec_command帮助

python – 基本的paramiko exec_command帮助,第1张

概述我是一个新的paramiko用户,并且很难在paramiko的远程服务器上运行命令.我想导出一个路径,并在后台运行一个名为tophat的程序.我可以使用paramiko.sshclient()登录,但我的exec_command代码没有结果. stdin, stdout, sterr = ssh.exec_command('export PATH=$PATH:/proj/genome/progra 我是一个新的paramiko用户,并且很难在paramiko的远程服务器上运行命令.我想导出一个路径,并在后台运行一个名为tophat的程序.我可以使用paramiko.sshclIEnt()登录,但我的exec_command代码没有结果.
stdin,stdout,sterr = ssh.exec_command('export PATH=$PATH:/proj/genome/programs/tophat-1.3.0/bin:/proj/genome/programs/cufflinks-1.0.3/bin:/proj/genome/programs/bowtIE-0.12.7:/proj/genome/programs/samtools-0.1.16')stdin,sterr = ssh.exec_command('nohup tophat -o /output/path/directory -I 10000 -p 8 --microexon-search -r 50 /proj/genome/programs/bowtIE-0.12.7/indexes/ce9 /input/path/1 /input/path/2 &')

没有nohup.out文件,python只是转到下一行,没有错误消息.我也试过没有nohup,结果是一样的.我试图遵循this paramiko tutorial.

我是否正确使用exec_command?

解决方法 我也遇到了同样的问题,在查看了 this article和 this answer之后,我看到解决方案是调用Channel的recv_exit_status()方法.这是我的代码:
import paramikoimport timecli = paramiko.clIEnt.SSHClIEnt()cli.set_missing_host_key_policy(paramiko.clIEnt.autoAddPolicy())cli.connect(hostname="10.66.171.100",username="mapPing")stdin_,stdout_,stderr_ = cli.exec_command("ls -l ~")# time.sleep(2)    # PrevIoUsly,I had to sleep for some time.stdout_.channel.recv_exit_status()lines = stdout_.readlines()for line in lines:    print linecli.close()

现在我的代码将被阻止,直到远程命令完成.这个方法在here解释,请注意警告.

总结

以上是内存溢出为你收集整理的python – 基本的paramiko exec_command帮助全部内容,希望文章能够帮你解决python – 基本的paramiko exec_command帮助所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存