none
кто занимает COM-порт?

    Общие обсуждения

  • Как можно определить (не методом тыка) какой процесс посмел занять нужный мне COM-порт (например СОМ1)?

    • Изменен тип Vinokurov YuriyModerator 6 августа 2010 г. 8:38 давность и отсутствие активности в теме
    4 августа 2007 г. 20:22

Все ответы

  • Утилита PortMon от Sysinternals (в настоящее время - подразделение Microsoft).

    5 августа 2007 г. 5:04
    Модератор
  •  osr. написано:

    Утилита PortMon от Sysinternals (в настоящее время - подразделение Microsoft).

     

    Попробывал PortMon, но она безполезна, насколько я понял, если какой-то драйвер занял порт до того как был запущен PortMon, то эта утилита не определит кто это был и не покажет, что порт занят и кем. Куда её засунуть, чтоб она (утилита) запускалась раньше всех?

    11 августа 2007 г. 18:24
  • Действительно, утилита PortMon должна быть запущена до того, как тот или иной процесс захватит com-порт. Попробую предложить следующий workaround. PortMon может работать в клиент-серверной конфигурации, когда на анализируемом компьютере запускается клиентская часть, а сбор данных происходит по сети на другом компьютере. Посмотрите справку по PortMon для более детальной информации.

     

    В этом случае на компьютере следует запустить клиентскую часть, выполнив команду

     

    portmon /c

     

    Попробуйте запустить PortMon как сервис, используя утилиту Srvany.exe из Resouce Kit, или через планировщик Scheduled Tasks, указывая время запуска At system startup. Контролировать успешный запуск следует через Task Manager, окно программы при таких способах запуска не появится. После этого попробуйте подключиться с компьютера, на котором будет запущена серверная часть PortMon. Таким образом можно запустить PortMon до входа пользователя в систему, но насколько это поможет - не знаю. 

     

    11 августа 2007 г. 19:52
    Модератор
  • Утилита Process Explorer и поиск по строке Serial дает нам ссылку на процесс использующий файл типа \Device\Serial[X], где [X] - номер устройства в системе. Например  \Device\Serial0 - у меня указал на COM1.
    10 ноября 2009 г. 8:10