Я использую USB-сервер (сервер устройств USB MyUTN - http://www.myutn.net/home.html) для подключения моей виртуальной машины Windows 2008 Server к USB-модему. USB-модем поставляется с драйвером эмуляции COM, который создает виртуальный COM-порт на сервере Win2k8. MyUTN также поставляется с программным обеспечением, которое эмулирует USB-устройства на сервере Win2k8.Как принудительно освободить COM-порт, занятый другим приложением, или повесил
На сервере Win2k8 я запускаю приложение модема (службу NT), которое подключается к модему (открытый порт) через виртуальный COM-порт и не освобождает его, пока приложение не будет закрыто пользователем.
Приложение и модем отлично работают на физическом USB-порту, но когда я использую его с сервером устройств MyUTN USB, у меня возникает проблема, когда модем сбрасывает или отключает на мгновение, порт не освобождается. Случается, что мое приложение заблокировано из модема. Даже если я должен закрыть приложение, порт не будет выпущен. Однако модем работает, когда на нем горит индикатор и мигает. Единственный способ решить проблему - физически удалить модем и подключить его обратно.
Я пытался решить проблему, но безрезультатно, и срочно нужно, чтобы решение работало к следующему понедельнику. Одним из быстрых способов, о которых я могу думать, является то, могу ли я программно освободить занятый порт. Пожалуйста, дайте мне знать, если это можно сделать. Благодарю.
Чтобы добавить, используя проводник процессов, я не могу найти какой-либо процесс, который имеет дескриптор COM-порта, который занят. – Joshua
Аналогичный вопрос: http://stackoverflow.com/questions/7208094/force-a-com-port-to-close – Xearinox