iperf コマンドを実行するために、Python スクリプトを使用して 2 台の PC を ssh および接続していますが、スクリプトの実行に時間がかかります。実行時間を短縮するにはどうすればよいですか: スクリプトは Eclipse IDE から実行されています。
これは私が使用しているスクリプトです:
import pexpect
import pxssh
import time
import os,re,sys
def tc01s(ipaddr,password):
try:
ss = pexpect.spawn(ipaddr)
print ipaddr
ss.logfile = open("/tmp/mynewlog", "w")
#ss.logfile = sys.stdout
print "SSH connecting"
print
except:
print "connection refused"
print
#sys.exit()
try:
print password
ss.expect (':')
ss.sendline (password +"\n")
print "connected"
time.sleep(30)
ss.expect (">")
print "connection established"
print
except:
print "Permission denied, please try again."
print
sys.exit()
try:
ss.sendline ('taskkill /F /IM iperf.exe\n')
#time.sleep(30)
ss.expect ('>')
#os.system("D:\iperf-2.0.5-2-win32\iperf.exe -s\n")
ss.sendline ('cd /D D:\iperf-2.0.5-2-win32')
ss.expect ('>')
ss.sendline ('iperf -s -u -f m -p 5000 -l 1470 -i 1')
ss.expect (r'TCP window size: .*yte \(default\)')
time.sleep(30)
except:
print
print
#sys.exit()
###############################################################################
time.sleep(30)
def tc01c(ipaddr,password):
try:
css = pexpect.spawn(ipaddr)
css.logfile = open("/tmp/mynewlog", "w")
#css.logfile = (sys.stdout)
print "SSH connecting"
print
except:
print "connection refused"
print
sys.exit()
try:
css.expect (':')
css.sendline (password + "\n")
print "connected"
time.sleep(30)
css.expect (">")
print "connection established"
print
except:
print "Permission denied, please try again."
print
sys.exit()
try:
#css.sendline ('taskkill /F /IM iperf.exe\n')
print css.logfile
css.expect ('>')
css.sendline ('D:' + "\r")
#css.sendline ('cd /D D:\iperf-2.0.5-2-win32')
css.expect ('>')
css.sendline ('dir' + "\r")
css.sendline ('cd iperf ' + "\r")
css.expect ('>')
css.sendline ('iperf -u -f m -c 192.168.100.101 -p 5000 -b 3.00M -t 10 -l 1470 -i 1 \r\n')
css.expect (r'TCP window size: .*yte \(default\)')
time.sleep(30)
except:
print
print
#sys.exit()
###############################################
the above code is executed using
import os
import pexpect
import ssh
import time
ssh.tc01s("ssh user@192.168.100.101","pass123")
ssh.tc01c("ssh domain@192.168.100.85","123pass")