在python中自动化串口的Control + c

时间:2016-08-31 01:39:13

标签: python python-2.7

我正在尝试终止在串行端口上打开的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()

0 个答案:

没有答案