Romano
16-04-2023, 19:34
Приветствую!
Необходимо при достижении порога занимаемой памяти процессом, перезапускать его.
Тема избитая, но тем не менее...
Нашли процесс, если его объем памяти больше заданного порога в килобайтах.
tasklist /FI "IMAGENAME eq Program.exe"" /FI "MEMUSAGE gt 90000"
Тогда нужно выполнить блок перезапуска..сначала попытаться остановить службу, если не получилось, то завершить задачу и запустить службу.
=========
net stop ProgramService
тут пауза дать время на остановку службы
ping 127.0.0.1 -n 180 >nul
снимаем задачу, если все-таки не удалось корректно остановить службу
taskkill /F /IM Program.exe
запускаем службу
net start ProgramService
=========
Вопрос. Как правильно отловить условие, что если нашелся процесс и занял памяти больше порогового, то выполнить блок перезапуска, иначе выйти.
Скрипт будет в планировщике запускаться раз в N минут.
Необходимо при достижении порога занимаемой памяти процессом, перезапускать его.
Тема избитая, но тем не менее...
Нашли процесс, если его объем памяти больше заданного порога в килобайтах.
tasklist /FI "IMAGENAME eq Program.exe"" /FI "MEMUSAGE gt 90000"
Тогда нужно выполнить блок перезапуска..сначала попытаться остановить службу, если не получилось, то завершить задачу и запустить службу.
=========
net stop ProgramService
тут пауза дать время на остановку службы
ping 127.0.0.1 -n 180 >nul
снимаем задачу, если все-таки не удалось корректно остановить службу
taskkill /F /IM Program.exe
запускаем службу
net start ProgramService
=========
Вопрос. Как правильно отловить условие, что если нашелся процесс и занял памяти больше порогового, то выполнить блок перезапуска, иначе выйти.
Скрипт будет в планировщике запускаться раз в N минут.