Здравствуйте, подскажите пожалуйста, есть скрипт для autoit который проверяет каждые 30 секунд, что программа соединена по сети, все работает отлично, но иногда в рандамное время, это может быть 5 минут, а может быть несколько часов или несколько минут, переменная $str оказывается пустой, как будто программа перестала быть соединена по сети и происходит перезапуск программы, но на самом деле программа не теряет соединение и продолжает работать, как можно исправить такой баг и в чем может быть проблема ?
Func timer()
Sleep(30000) ; 30 sec
qry()
EndFunc
Local $str = ''
Local $pid = Run(@ComSpec & " /c " & 'netstat -a -n | findstr ":80"', '', @SW_HIDE, 2)
While ProcessExists($pid)
$str &= StdoutRead($pid)
WEnd
if $str Then
_DebugOut (_NowTime() & ": Процесс активен")
timer()
Else
_DebugOut (_NowTime() & ": Процесс не активен")
Start()
EndIf