Usando netstat -aon | findstr /I "1234"
, posso monitorar se esta porta está aberta, mas há um problema: o resultado é assim:
UDP 0.0.0.0:1234 *:* 5064
UDP 0.0.0.0:1234 *:* 5064
UDP 0.0.0.0:1234 *:* 5064
UDP 0.0.0.0:1234 *:* 5064
Portanto, sempre que meu programa (com Progress ID 5064) falha ao abrir essa porta, não tenho ideia de quando isso realmente acontece.
Então, eu gostaria de algo como:
while true:
netstat -aon | findstr /I "1234"
time /T
end
(Já verifiquei netstat /?
, mas não encontro nenhuma opção que mostre o carimbo de data/hora.)
Alguém tem uma ideia?
(Estou trabalhando no Windows Server 2019.)
Bem, no PowerShell, você pode literalmente fazer o que está no seu exemplo usando um
while
loop:... Dito isto, acredito que essa seja uma abordagem totalmente errada. A falha na escuta do soquete é detectável – as respectivas funções retornarão um erro – portanto, se o seu programa falhar na escuta na porta configurada, em um servidor, ele deverá gerar suas próprias mensagens de log indicando que há um problema.
Essas mensagens de log incluiriam a hora e a data em que a mensagem foi emitida. (Se você puder enviar mensagens para o log de eventos do Windows – ou para um coletor Syslog – normalmente incluiria a hora/data automaticamente.)