Вы наверняка знакомы с традиционным способом завершить процесс в Windows с помощью диспетчера задач. Этот способ эффективен, но использование командной строки даёт больше контроля и возможность завершить несколько процессов за раз.
Возможность завершить процесс из командной строки даёт нам команда TaskKill. Вы можете убить процесс из командной строки по его идентификатору (PID) или по имени образа (имени exe файла).
Запустите консоль от имени администратора и введите команду tasklist, чтобы просмотреть все запущенные процессы.
C:\tasklist Имя образа PID Имя сессии № сеанса Память ========================= ======== ================ =========== ============ System Idle Process 0 Services 0 24 КБ System 4 Services 0 1 256 КБ conhost.exe 5944 Console 2 2 888 КБ notepad.exe 3100 Console 2 7 400 КБ tasklist.exe 8892 Console 2 6 100 КБ WmiPrvSE.exe 7340 Services 0 6 864 КБ smss.exe 372 Services 0 544 КБ csrss.exe 536 Services 0 3 336 КБ wininit.exe 812 Services 0 436 КБ
В приведённом выше примере можно увидеть имя образа и PID для каждого процесса. Если вы хотите убить процесс Notepad, нужно ввести:
taskkill /IM notepad.exe /F
или
taskkill /PID 3100 /F
Флаг /F — нужен для принудительного завершения процесса. Если его не использовать, то в некоторых случаях ничего не произойдёт, и приложение продолжит свою работу. Как пример, попытка завершения процесса explorer.exe без этого флага ни к чему не приведёт.
Если у вас есть несколько экземпляров приложений, как например chrome, то выполнение команды taskkill /IM. chrome.exe завершит их все. При указании PID можно завершить только конкретные процессы Chrome.
В taskkill есть варианты фильтрации, которые позволяют использовать переменные и операторы.
Переменные:
- STATUS (статус)
- IMAGENAME (имя образа)
- PID (значение)
- SESSION (номер сессии)
- CPUTIME (время CPU)
- MEMUSAGE (использование памяти в кб)
- USERNAME (имя пользователя)
- MODULES (имя DLL)
- SERVICES (имя службы)
- WINDOWTITLE (заголовок окна)
Операторы:
- eq (равно)
- ne (не равно)
- gt (больше чем)
- lt (меньше чем)
- ge (больше или равно)
- le (меньше или равно)
- * (любые символы)
Вы можете использовать переменные и операторы с флагом /FI. Например, вы хотите завершить все процессы, у которых заголовок окна начинается со слова Internet, то команда будет следующей:
taskkill /FI «WINDOWTITLE eq Internet*» /F
Чтобы завершить все процессы, запущенные от имени Alex:
taskkill /FI «USERNAME eq Alex» /F
Таким же образом можно завершить процесс, запущенный на другом компьютере из командной строки. Например, имя компьютера OperatorPC, необходимо ввести:
taskkill /S OperatorPC /U Имя_пользователя_на_удаленной_машине /P Пароль_от_удаленной_машины /IM notepad.exe /F
Подробную информацию вы всегда можете получить, запустив taskkill с ключом /?:
taskkill /?
Вопросы традиционно приветствуются в комментариях.