Иногда возникает необходимость вручную завершить процесс, который не отвечает. В большинстве случаев это можно сделать с помощью Диспетчера задач Windows, однако порой ему не удается справиться с вышедшим из под контроля приложением. Мне часто приходилось сталкиваться с этим при попытке завершить процесс Acronis. В такой ситуации я обычно использую более мощный инструмент — команду taskkill.
Чтобы воспользоваться taskkill, нужно открыть окно командной строки. Для этого вызовите окно «Выполнить» (Run) из меню «Пуск» (Start) или воспользуйтесь клавишной комбинацией [Win]+[R] и введите «cmd» (без кавычек) в поле «Открыть» (Open, рис. A).
Рисунок A. Откройте окно командной строки.
Использование команды taskkill
Общий синтаксис команды выглядит следующим образом:
taskkill [ОПЦИИ] [ИДЕНТИФИКАТОР ПРОЦЕССА]
Разумеется, для taskkill доступен широкий выбор опций. Перечислю лишь наиболее полезные из них:
• /s КОМПЬЮТЕР, где КОМПЬЮТЕР — это IP или адрес удаленного компьютера. По умолчанию, операция выполняется в локальной системе. Если именно это вас и интересует, данную опцию можно не использовать.
• /u ДОМЕН\ПОЛЬЗОВАТЕЛЬ, где ДОМЕН — это имя домена, а ПОЛЬЗОВАТЕЛЬ — имя пользователя, для которого нужно выполнить команду. Данная опция позволяет запускать taskkill с правами определенной учетной записи или домена.
• /p — обязательно используется в сочетании с опцией /u для указания пароля к учетной записи пользователя.
• /fi — позволяет выполнять команду taskkill с определенными фильтрами.
• /f — принудительно завершает выполнение команды.
• /IM — позволяет использовать имя приложения вместо идентификатора процесса.
Ну и разумеется, одна из самых полезных опций — переключатель для вызова справки (рис. В):
taskkill /?
Рисунок B. Вывод справочной информации по команде taskkill при использовании переключателя справки.
Завершение процесса по имени приложения
Проще всего завершить вышедший из-под контроля процесс, воспользовавшись командой taskkill с использованием опции /IM. Выглядеть это будет так:
taskkill /IM ИМЯ_ПРИЛОЖЕНИЯ
Здесь ИМЯ_ПРИЛОЖЕНИЯ — это имя процесса, который требуется завершить. К примеру, если Outlook не удается закрыть, можно воспользоваться следующей командой:
taskkill /IM outlook.exe
Завершение процесса по идентификатора
Если вы не знаете имени процесса, но знаете его идентификатор (PID) — например, 572 — можно воспользоваться следующей командой:
taskkill /PID 572
Завершение всех процессов для определенной учетной записи
Существует также возможность завершить все процессы для определенной учетной записи. Это особенно актуально, если совершенно точно известно, что проблема связана с определенной учетной записью, или если пользователь уже вышел из системы, а запущенные им процессы перестали отвечать. В таком случае можно воспользоваться следующей командой:
taskkill /F /FI “USERNAME eq имя_пользователя”
Здесь имя_пользователя — это имя учетной записи, под которой запущены нежелательные процессы. Обязательно нужно включить в команду опцию USERNAME, чтобы указать соответствующее имя пользователя.
Завершение процессов на удаленном компьютере
Еще одна удобная возможность — завершение процессов в удаленном режиме. Допустим, вы точно знаете, что система не отвечает из-за определенного процесса (возьмем для примера все тот же Outlook). В таком случае можно воспользоваться другим компьютером и выполнить следующую команду:
Здесь IP-АДРЕС — адрес удаленного компьютера (можно использовать и имя хоста, если компьютеры способны распознавать друг друга таким способом), ДОМЕН — имя домена (если требуется), а ПОЛЬЗОВАТЕЛЬ — имя пользователя, под которым был осуществлен вход на удаленный компьютер.
В заключение
Команда taskkill — весьма мощный и функциональный инструмент, способный избавить от необходимости принудительной перезагрузки компьютера. Умелое использование этой команды в сочетании с Диспетчером задач продлевает время безотказной работы системы и даже позволяет бороться с вирусами, руткитами или троянцами.