关闭Windows(虚拟)串行端口 - 操作系统需要多长时间才能释放它们?

时间:2016-02-15 03:36:33

标签: python windows com0com

我正在编写一个使用com0com虚拟串口的Python(2.6)应用程序。它在Windows Server 2008 R2(sp1)上运行(我在我的开发机器上也看到了同样的问题,即Win 7)。

com0com端口对是在应用运行之前创建的。该应用程序打开端口(通过创建serial.Serial对象),利用它们和&然后关闭它们。

尝试过早地重用该端口失败 - 调用构造函数很好(也就是说,它返回一个打开的serial.Serial对象),但是这个对象似乎无法使用。由于这些对象正被另一个应用程序使用,因此应用程序可能无法正确释放内容。

是否有已知的时间间隔我应该等待重新使用com0com端口?是不是com0com端口以某种方式设置错误?或其他什么?

伪代码超高级代码概述:

loop:
    serialPort = serial.Serial(port=COM90)
    subprocess.check_call([blah.exe, "COM90"])
    # this check_call succeeds on first iteration
    # fails on second iteration, but will succeed subsequently ...
    serialPort.close()
    # pause before reusing COM90

0 个答案:

没有答案