- Программы для остановки процессов и программ
- Process Explorer
- Process Hacker
- KillProcess
- Ultimate Process Killer
- Завершение процесса из командной строки
- Завершение процесса по его имени
- Завершение процесса по его PID
- Расширенные условия фильтрации процессов
- Работа с другим компьютером
- Завершение процессов в Windows командой taskkill
Программы для остановки процессов и программ
Во всех операционных системах Windows присутствует встроенный менеджер процессов «Диспетчер задач», позволяющий принудительно останавливать работу процессов и программ. Но его функциональных возможностей иногда оказывается недостаточно. Пользователи часто сталкиваются с тем, что при нажатии кнопки «Снять задачу» (или при нажатии клавиши «Delete») в «Диспетчере задач» останавливаемый процесс так и остается «висеть» в памяти компьютера.
Другой недостаток стандартного менеджера — отсутствие функции обнаружения процесса по открытому окну. А такая функция позволила бы эффективно бороться с программами, которые «не хотят» закрываться (обычно это относится к различному рекламному/вредоносному ПО).
Рассмотрим самые популярные программы, специализирующиеся на принудительном завершении работы запущенных процессов.
Process Explorer
Process Explorer — один из самых известных менеджеров с большим количеством функций по управлению запущенными процессами и получению всевозможной информации о них. В программе две функции для принудительного завершения работы процессов:
- Принудительное закрытие одного процесса (Kill Process).
- Принудительное завершение работы древа процессов (Kill Process Tree).
Также утилита обладает упомянутой выше функцией поиска процесса по открытому окну или даже отдельному элементу этого окна. Если, к примеру, на рабочем столе время от времени появляется окно с какой-нибудь рекламой, которое невозможно закрыть, Process Explorer поможет найти ответственный за это процесс. Впоследствии пользователь сможет найти и файл на диске, чтобы удалить его.
Чтобы запустить эту функцию, достаточно кликнуть по значку с изображением прицела, затем, удерживая левую кнопку мыши, навести этот «прицел» на любое открытое окно и отпустить кнопку.
Процесс, ответственный за отображение того или иного окна, будет автоматически выделен программой Process Explorer.
Дальше можно будет сразу завершить процесс либо вызвать его окно свойств (двойной клик мышью по названию процесса), в котором о нем будет представлена самая разная информация, включая местоположение исполнимого файла на диске.
Process Hacker
Process Hacker — ближайший аналог предыдущей программы. Данная утилита также служит для получения информации о процессах, и может использоваться для их принудительного завершения.
В программе Process Hacker предусмотрена возможность закрытия, как одного, так и всего древа выбранного процесса (здесь эти функции называются «Terminate» и «Terminate Tree»):
По части поиска процесса по открытому окну или элементу окна Process Hacker имеет преимущество над Process Explorer, т.к. тут для этого предусмотрено три функции:
- «Find window». Данная функция полностью аналогична таковой у Process Explorer, и способ применения тот же.
- «Find window and thread». Функция не только находит процесс, но и отображает все связанные с ними потоки в отдельном окне.
- «Find window and kill». А это наиболее интересная для нас функция. Она позволяет автоматически завершить работу процесса сразу после указания пользователем на открытое окно.
KillProcess
KillProcess — интересная утилита, которая станет полезной для пользователей, нуждающихся в быстром завершении работы множества заранее определенных программ одновременно.
Начнем со стандартного функционала. В программе KillProcess присутствую функции для принудительного завершения работы процесса или древа процессов:
А вот функции поиска процессов по открытому окну, к сожалению, здесь не предусмотрено. Зато есть другая не менее интересная функция:
- Пользователь может создать список, в который в будущем будут заноситься названия программ (меню «File > New Kill List…», вводим имя для файла-списка, нажимаем «Сохранить»):
- Добавить в него любое количество программ (процессов), выбрав опцию «Add to List» из контекстного меню, вызываемого над названием процесса (добавленные программы будут помечены зеленым значком):
- Теперь при нажатии кнопки «Terminate process(es) in the Kill List!» добавленные в список программы (процессы) будут автоматически принудительно завершены (нужно будет еще нажать «Да» в открывшемся окне для подтверждения действия, но его предварительный показ при необходимости можно выключить в настройках).
Ultimate Process Killer
Ultimate Process Killer — еще одна программа, специализирующаяся на «убивании» запущенных процессов. Хоть в ней и отсутствует функция поиска процессов по открытым окнам, утилита по-своему эффективна в борьбе с вредоносным ПО (будет рассмотрено ниже).
Программа Ultimate Process Killer предлагает два способа принудительного завершения запущенных процессов:
- Закрытие одного процесса (выделяем процесс из списка, нажимаем кнопку «Kill selected process»).
- Закрытие нескольких процессов (отмечаем галочками завершаемые процессы, нажимаем кнопку «Kill cheked process»).
Теперь о функции, помогающей в борьбе с вредоносными (или просто надоедливыми) программами. Речь об опции «Also Delete Parent File». Если задействовать ее (поставить галочку напротив соответствующего пункта), то сразу после завершения работы выбранного процесса (или нескольких) программа автоматически удалит с диска вызвавший его родительский файл. Это может пригодиться в случаях, когда тот или иной процесс автоматически запускается после попытки «убить» его.
И последнее — опция «Allow Double Click Termination». Если задействовать ее, то пользователь сможет завершать работу любых процессов двумя кликами левой кнопкой мыши по их названию.
Остались вопросы, предложения или замечания? Свяжитесь с нами и задайте вопрос.
Завершение процесса из командной строки
Как должно быть Вам известно, процесс можно запросто завершить, выбрав соответствующий пункт в диспетчере задач. Однако, так же есть возможность завершения нужного процесса через командную строку, с помощью программы taskkill, которая идет по умолчанию с любой операционной системой Windows. Рассмотрим различные примеры применения этой программы.
Завершение процесса по его имени
Данный вариант идеально подходит для ситуаций, когда нужно завершить процесс или группу процессов с одинаковым именем. Делается это следующей командой:
где _ИМЯ_ПРОЦЕССА_ — это имя процесса, например calc.exe. То есть, для завершения процесса программы «Калькулятор», нужно выполнить следующую команду:
Завершение процесса по его PID
Еще процесс можно завершить по его идентификатору в системе — удобно, в том случае, если Вам нужно завершить какой-то определенный процесс, имя которого, к примеру, совпадает с именами других процессов. Получить PID можно выполнив команду tasklist :
Найдя нужный процесс и его PID, можно перейти к его завершению. Делается это так:
где вместо _PID_ должен быть настоящий PID процесса.
Расширенные условия фильтрации процессов
Помимо флагов /IM и /PID, которые отвечают за отбор процессов по имени и PID, соответственно, программа taskkill поддерживает множество других параметров, которые становятся доступны при использовании флага /FI:
- CPUTIME — время CPU
- IMAGENAME — имя образа
- MEMUSAGE — использование памяти в Кбайтах
- MODULES — имя DLL
- PID — значение
- SERVICES — имя службы
- SESSION — номер сессии
- STATUS — статус
- USERNAME — имя пользователя
- WINDOWTITLE — заголовок окна
Так же программа умеет работать со следующими операторами сравнения:
- * — любые символы
- eq — равно
- ge — больше или равно
- gt — больше чем
- le — меньше или равно
- lt — меньше чем
- ne — не равно
Разберем на примерах. Например, нужно закрыть процесс iexplore (наименование процесса браузера Internet Explorer) у пользователя Ivan:
Завершим все процессы пользователя Ivan:
Работа с другим компьютером
Программа taskkill так же умеет работать с другим компьютером — для этого используются три следующих флага:
- /S — имя или адрес удаленного компьютера
- /U — имя пользователя
- /P — пароль пользователя
К примеру, если нужно на компьютере с адресом 192.168.100.1 «убить» процесс notepad.exe, то нужно выполнить следующую команду:
Где, как должно быть понятно 192.168.100.1 — адрес компьютера, user — имя пользователя, 12345678 — пароль.
Если эти действия нужно сделать с компьютером, который находится в одном домене с Вашим текущим пользователем, и он обладает правами администратора (например, он администратор домена), то можно выполнить выше указанную команду без указания конкретного пользователя:
Завершение процессов в Windows командой taskkill
Иногда возникает необходимость вручную завершить процесс, который не отвечает. В большинстве случаев это можно сделать с помощью Диспетчера задач Windows, однако порой ему не удается справиться с вышедшим из под контроля приложением. Мне часто приходилось сталкиваться с этим при попытке завершить процесс Acronis. В такой ситуации я обычно использую более мощный инструмент — команду taskkill.
Чтобы воспользоваться taskkill, нужно открыть окно командной строки. Для этого вызовите окно «Выполнить» (Run) из меню «Пуск» (Start) или воспользуйтесь клавишной комбинацией [Win]+[R] и введите «cmd» (без кавычек) в поле «Открыть» (Open, рис. A).
Использование команды taskkill
Общий синтаксис команды выглядит следующим образом:
Разумеется, для taskkill доступен широкий выбор опций. Перечислю лишь наиболее полезные из них:
• /s КОМПЬЮТЕР, где КОМПЬЮТЕР — это IP или адрес удаленного компьютера. По умолчанию, операция выполняется в локальной системе. Если именно это вас и интересует, данную опцию можно не использовать.
• /u ДОМЕН\ПОЛЬЗОВАТЕЛЬ, где ДОМЕН — это имя домена, а ПОЛЬЗОВАТЕЛЬ — имя пользователя, для которого нужно выполнить команду. Данная опция позволяет запускать taskkill с правами определенной учетной записи или домена.
• /p — обязательно используется в сочетании с опцией /u для указания пароля к учетной записи пользователя.
• /fi — позволяет выполнять команду taskkill с определенными фильтрами.
• /f — принудительно завершает выполнение команды.
• /IM — позволяет использовать имя приложения вместо идентификатора процесса.
Ну и разумеется, одна из самых полезных опций — переключатель для вызова справки (рис. В):
Рисунок B. Вывод справочной информации по команде taskkill при использовании переключателя справки.
Завершение процесса по имени приложения
Проще всего завершить вышедший из-под контроля процесс, воспользовавшись командой taskkill с использованием опции /IM. Выглядеть это будет так:
Здесь ИМЯ_ПРИЛОЖЕНИЯ — это имя процесса, который требуется завершить. К примеру, если Outlook не удается закрыть, можно воспользоваться следующей командой:
Завершение процесса по идентификатора
Если вы не знаете имени процесса, но знаете его идентификатор (PID) — например, 572 — можно воспользоваться следующей командой:
Завершение всех процессов для определенной учетной записи
Существует также возможность завершить все процессы для определенной учетной записи. Это особенно актуально, если совершенно точно известно, что проблема связана с определенной учетной записью, или если пользователь уже вышел из системы, а запущенные им процессы перестали отвечать. В таком случае можно воспользоваться следующей командой:
Здесь имя_пользователя — это имя учетной записи, под которой запущены нежелательные процессы. Обязательно нужно включить в команду опцию USERNAME, чтобы указать соответствующее имя пользователя.
Завершение процессов на удаленном компьютере
Еще одна удобная возможность — завершение процессов в удаленном режиме. Допустим, вы точно знаете, что система не отвечает из-за определенного процесса (возьмем для примера все тот же Outlook). В таком случае можно воспользоваться другим компьютером и выполнить следующую команду:
Здесь IP-АДРЕС — адрес удаленного компьютера (можно использовать и имя хоста, если компьютеры способны распознавать друг друга таким способом), ДОМЕН — имя домена (если требуется), а ПОЛЬЗОВАТЕЛЬ — имя пользователя, под которым был осуществлен вход на удаленный компьютер.
Команда taskkill — весьма мощный и функциональный инструмент, способный избавить от необходимости принудительной перезагрузки компьютера. Умелое использование этой команды в сочетании с Диспетчером задач продлевает время безотказной работы системы и даже позволяет бороться с вирусами, руткитами или троянцами.