Представленная вашему вниманию утилита служит для завершения процессов Windows, которые были определены как зависшие. Критериями проверки зависших процессов является изменение памяти, не превышаемое или не снижаемое на заданную величину процессом в течении определенного времени.
Настройка
Утилита представляет собой Windows приложение, разработанное в Visual Studio на языке C#. В главном окне приложения таблица настроек проверки процессов.
Чтобы добавлять, изменять и удалять условия проверки, используется панель команд
Окно добавления и изменения настроек
Имя процесса можно выбрать из списка действующих процессов, либо ввести вручную его название (как он отображается в подробностях диспетчера задач). К примеру, если открыт Word, то процесс можно выбрать из списка. В примере ниже, выбран запущенный MS Word. Важно наличие галочки "Активно", она позволяет отключать настройку без удаления строки из таблицы настроек. Далее есть галочка, позволяющая проверять изменение памяти занятой процессом за определенный промежуток времени. А также само значение, на которое допускается изменение памяти, и время в течении которого отслеживается это изменение.
После чего в таблицу настроек добавляется строка с соответствующими заданными настройками.
Кроме того, есть возможность определить интервал промежуточных проверок Через указанное время будет происходить проверка процессов на изменение памяти, и в случае если память изменилась более чем на указанное значение в настройках, то для такого процесса, время начала проверки сбрасывается на текущее.
Теперь, после того как все настройки выполнены, можно запустить процесс отслеживания
Так выглядит окно с запущенным процессом отслеживания.
Если установить галочку "Выводить сообщения", то в окне сообщений будет краткий лог хода процесса.
В данном логе, можно увидеть процессы с каким именем проверяются и сколько их с одним и тем же именем, а далее какой конкретно Id процесса. Здесь, Mem - это занятая оперативная память процессом, изначальная и текущая, а так же значения до которых допускается ее отклонение. Time - это время начала проверки процесса и текущее время, а так же время в которое процесс будет завершен если его память не выйдет за допустимые рамки.
В данном примере, с интервалом 15 сек, происходит проверка процесса WINWORD. И через заданный промежуток времени (1 мин), процесс завершается, так как изменение памяти варьируется в указанном диапазоне настроек (1000 КБ).
Данная утилита должна быть запущена от пользователя с правами администратора.
Утилита имеет кнопку которая выполняет проверку до наступления конца заданного интервала в общих настройках (15 сек).
Кроме того, в файлы приложенные к публикации, входит консольный вариант утилиты которая выполняет сценарий проверки подобно вышеуказанной кнопке, без необходимости держать открытой утилиту с графическим интерфейсом.
Консольное приложение, можно добавить в "Планировщик заданий" Windows и настроить удобное расписание, к примеру только на ночное время.
Консольное приложение использует настройки, сделанные в графическом приложении. Графическое приложение является обязательным для задания настроек