Iniciando um serviço que pode ter conflitos de porta com o serviço existente

0

Existe alguma maneira de iniciar um serviço e forçar um serviço que já está em execução a parar se ele usar a porta que o serviço que eu quero iniciar será usado?

Vou instalar o apache e o mysql, e quero que os serviços sejam executados sem ter que parar manualmente os serviços existentes que usam a porta 80/3306, como os serviços apache / mysql existentes.

Estou usando o NSIS para fazer meu instalador.

    
por Michael 30.08.2011 / 12:06

1 resposta

1

Eu fiz o meu instalador abortar se descobrisse que as portas 80 ou 3306 estavam em uso.

Eu usei um plug-in TCP para o NSIS, link

Eu usei dessa maneira,

...
TCP::CheckPort "80"
Pop $0
StrCmp $0 "free" port_ok
StrCmp $0 "socket_error" socket_error
StrCmp $0 "inuse" socket_inuse
Goto port_ok
socket_inuse:
    MessageBox MB_OK "Port 80 is in use by another application."
    Abort
socket_error:
    MessageBox MB_OK "Error connecting to port 80"
    Abort
port_ok:
...
    
por 28.11.2011 / 09:15