我正在尝试终止在串行端口上打开的iperf
服务器会话。
下面的代码打开端口,启动iperf
服务器,并将输出复制到单个文件。在作业结束时,我试图用^C
杀死服务器 - 正如预期的那样,由于服务器处于 listen 模式,这没有工作,我发送任何按键通过iperf
交互式监听shell;这并没有阻止它。
关闭服务器端口没有帮助,因为服务器处于 listen 模式。如何通过发送命令来终止iperf
服务器会话?
我尝试添加iperf
服务器选项-t 20
,但这没有用。
非常感谢任何帮助。
import serial
import time
port = "COM10"
baud = 115200
ser = serial.Serial(port, baud, timeout=5)
if ser.isOpen():
print(ser.name + ' is open...')
print ('Iperf server session is running')
ser.write("\r\niperf -s -i 1 -w 1M")
log1 = ser.read(100000)
time.sleep(20)
print log1
with open('myoutput.txt') as f:
last = None
for line in (line for line in f if line.rstrip('\n')):
last = line
print last
result = last[-14:]
print result
output = result[:4]
print output
ser.write("\r\n ^c")
log2 = ser.read(1000)
print log2
ser.close()