使用netstat -aon | findstr /I "1234"
,我可以监视该端口是否开放,但是有一个问题:结果如下:
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
因此,每当我的程序(进度 ID 为 5064)无法打开该端口时,我都不知道这实际上何时发生。
因此,我想要类似这样的东西:
while true:
netstat -aon | findstr /I "1234"
time /T
end
(我已经检查过了netstat /?
,但没有找到任何显示时间戳的开关。)
有人有想法吗?
(我正在使用 Windows Server 2019。)
答案1
好吧,在 PowerShell 中,您可以使用循环来真正地完成示例中的操作while
:
while ($true) {
Get-Date
netstat -asdfgh
Start-Sleep 1
}
...话虽如此,我认为这是完全错误的方法。套接字侦听失败是可以检测到的——相应的函数将返回错误——因此,如果您的程序无法在服务器上侦听其配置的端口,它应该生成它有自己的日志消息说明它有问题。
这些日志消息将包含输出消息的时间和日期。(如果您可以将消息发送到 Windows 事件日志 - 或 Syslog 收集器 - 它通常会自动包含时间/日期。)