28 октября 2017 г.
Textual description of firstImageUrl

Костыль от незапланированного завершения задачи

Введение

Есть компьютер, который работает в режиме сервачка на базе Windows 10 x64, где крутится определенная программа. Так вот, чтобы контролировать работу системы, удаленно стоят несколько программ, но у двух из них есть какая-то проблема, связанная с внезапным завершением их процессов, т.е. по непонятным причинам в случайно рандомный момент времени они могут завершить свою работу. Это довольно неудобно!

Попытка решения проблемы

Эти две программы TeamViewer v12.0.83369 (удаленное управление компьютером) с бесплатной лицензией и RealTemp 3.70 (мониторинг температуры процессоров и видеочипов).

В логах этих программ я ни чего не нашел, о причинах завершения работы, в журналах Windows тоже не было информации и интернет мне тоже не смог помочь, в результате пришла идея смастерить некий костыль на базе скрипта для перезапуска процессов, в случае если они внезапно прекратили работать

Скрипт

Скрипт создается довольно просто: открываете блокнот, забиваете текст и сохраняете файл с расширением BAT. Ниже я привел пример скрипта для программы RealTemp
@echo off
TITLE = reStart RealTemp
set executable=D:\Download\RealTemp_370\RealTempGT.exe
set process=RealTempGT.exe
:begin
tasklist |>nul findstr /b /l /i /c:%process% || start "" "%executable%" && echo %date%, %time%, start RealTempGT.exe
timeout /t 3 /nobreak >nul
goto :begin
 Разбираем построчно:

TITLE = reStart RealTemp - задаем название консольного окна, у меня два таких скрипта крутится, поэтому мне их нужно различать, это исключительно для удобства

set executable=D:\Download\RealTemp_370\RealTempGT.exe - указываем путь для исполняемого файла нашей программы

set process=RealTempGT.exe - указываем название процесса, который хотим контролировать

&& echo %date%, %time%, start RealTempGT.exe - это вывод в консоль информации когда и во сколько произошел перезапуск процесса (после echo можете написать все что угодно)

timeout /t 3 /nobreak >nul - мониторинг процесса выполняется раз в 3 секунды