none
如何释放被未知进程占用的COM口? RRS feed

  • Pergunta

  • 使用场景是,用户想要使用串口通信,但是当前串口被未知进程占用,用户不希望直接操作硬件拔除串口,也不希望重启,是否有办法释放被占用的串口?

    目前想到两个方案:

    1. 上策:模拟硬件拔除。在Windows设备管理器中,无论禁用还是卸载都不能立即释放被占用的串口,都是要求重启,这说明这两种操作都不能模拟硬件拔除的效果。是否有其他方法呢?
    2. 下策:找到占用进程并结束之。操作系统是否记录了进程对串口的占用情况呢?有没有办法根据串口号找到占用它的究竟是哪个进程呢?

    之所以2是下策,是因为必须强制结束进程,容易产生难以预料的后果。如果1方案的话,占用串口的进程可以自行检测到串口拔除,进行合理的处理。当然如果没有任何办法可以模拟硬件拔除也只能用2了。或者还有其它方案吗?

    quarta-feira, 20 de janeiro de 2021 03:02