Запуск службы, которая может иметь конфликт портов с существующей службой - PullRequest
0 голосов
/ 30 августа 2011

Есть ли способ запустить службу и принудительно остановить уже запущенную службу, если она использует порт, который будет использовать служба, которую я хочу запустить?

Я собираюсь установить apache и mysql и хочу, чтобы службы работали без необходимости вручную останавливать существующие службы, использующие порт 80/3306, такие как существующие службы apache / mysql.

Я использую NSIS, чтобы сделать мой установщик.

1 Ответ

1 голос
/ 15 сентября 2011

Чтобы найти процесс, прослушивающий порт 80, возможно, вы могли бы сделать эквивалент этого из командной строки:

c:\>netstat -aon | findstr 0.0:80
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       3488

3488 - это идентификатор процесса. Не уверен, какие API использует netstat.

Без отключения или перенастройки службы, которая уже использует нужный порт, все равно будет возникать проблема при перезагрузке системы. Лучше всего прервать установку, если порт уже используется. Чтобы проверить, используется ли порт, используйте этот NSIS TCP плагин .

...