Há muito tempo, criei um script Powershell que interrompe o serviço Apache, exclui os logs do servidor da Web e inicia o serviço novamente. Não teve problemas até recentemente, quando o processo de parada começou a expirar, o erro conhecido "O serviço não respondeu em tempo hábil ..".
Bem, para contornar isso, atualizei o script. Então, basicamente, explicou agora:
stop-service webserverservice
# Check if process is stil alive, and if found using the PID
stop-process -id $processPid -force
Isso deve tomar conta disso, se parar o serviço expirar, bem, vamos apenas matar o processo. E, na verdade, fazer a última verificação duas vezes para garantir que nenhum processo filho seja gerado antes de matar o processo principal.
MAS - em alguns servidores, nem todos, nem sempre, os passos acima não são impermeabilizados. Ao iniciar o servidor, ele diz
(OS 10048)Only one usage of each socket address (protocol/network
address/port) is normally permitted.
: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
E aqui está a coisa que não consigo explicar. Ainda usando Powershell e o equivalente netstat Get-NetTCPConnection
PS C:\temp> Get-NetTCPConnection -LocalPort 80
Get-NetTCPConnection : No MSFT_NetTCPConnection objects found with
property 'LocalPort' equal to '80'.
Verify the value of the property and retry.
Isso me deixa com apenas uma opção, reinicie o servidor e, em seguida, tudo está bem novamente.
Alguém está vendo algo que eu não sei, o que poderia explicar por que recebo esse problema?