Скрипт для завершения процесса windows

Every time I turn on my company-owned development machine, I have to kill 10+ processes using the Task Manager or any other process management app just to get decent performance out of my IDE. Yes, these are processes from programs that my company installs on my machine for security and compliance. What I’d like to do is have a .bat file or script of some kind with which I can kill the processes in question.

Does anybody know how to do this?

bubbleking's user avatar

bubbleking

3,3293 gold badges30 silver badges49 bronze badges

asked Aug 29, 2008 at 2:09

codeLes's user avatar

2

You can do this with ‘taskkill‘.
With the /IM parameter, you can specify image names.

Example:

taskkill /im somecorporateprocess.exe

You can also do this to ‘force‘ kill:

Example:

taskkill /f /im somecorporateprocess.exe

Just add one line per process you want to kill, save it as a .bat file, and add in your startup directory. Problem solved!

If this is a legacy system, PsKill will do the same.

Nith's user avatar

answered Aug 29, 2008 at 2:14

Factor Mystic's user avatar

Factor MysticFactor Mystic

26.3k16 gold badges79 silver badges95 bronze badges

2

taskkill /f /im "devenv.exe"

this will forcibly kill the pid with the exe name «devenv.exe»

equivalent to -9 on the nix’y kill command

answered Aug 29, 2008 at 2:13

DevelopingChris's user avatar

DevelopingChrisDevelopingChris

39.9k30 gold badges87 silver badges118 bronze badges

2

As TASKKILL might be unavailable on some Home/basic editions of windows here some alternatives:

TSKILL processName

or

TSKILL PID

Have on mind that processName should not have the .exe suffix and is limited to 18 characters.

Another option is WMIC :

wmic Path win32_process Where "Caption Like 'MyProcess%.exe'" Call Terminate

wmic offer even more flexibility than taskkill with its SQL-like matchers .With wmic Path win32_process get you can see the available fileds you can filter (and % can be used as a wildcard).

answered Feb 2, 2015 at 8:22

npocmaka's user avatar

npocmakanpocmaka

55.6k18 gold badges148 silver badges188 bronze badges

I’m assuming as a developer, you have some degree of administrative control over your machine. If so, from the command line, run msconfig.exe. You can remove many processes from even starting, thereby eliminating the need to kill them with the above mentioned solutions.

answered Aug 29, 2008 at 3:18

Jason Z's user avatar

Jason ZJason Z

13.1k15 gold badges50 silver badges62 bronze badges

Get Autoruns from Mark Russinovich, the Sysinternals guy that discovered the Sony Rootkit… Best software I’ve ever used for cleaning up things that get started automatically.

answered Aug 29, 2008 at 3:45

Brian Stewart's user avatar

Brian StewartBrian Stewart

9,16711 gold badges54 silver badges66 bronze badges

Download PSKill. Write a batch file that calls it for each process you want dead, passing in the name of the process for each.

answered Aug 29, 2008 at 2:12

Shog9's user avatar

Shog9Shog9

157k35 gold badges231 silver badges235 bronze badges

Use Powershell! Built in cmdlets for managing processes. Examples here (hard way), here(built in) and here (more).

answered Aug 29, 2008 at 2:33

slipsec's user avatar

slipsecslipsec

3,0043 gold badges34 silver badges46 bronze badges

Please find the below logic where it works on the condition.

If we simply call taskkill /im applicationname.exe, it will kill only if this process is running. If this process is not running, it will throw an error.

So as to check before takskill is called, a check can be done to make sure execute taskkill will be executed only if the process is running, so that it won’t throw error.

tasklist /fi "imagename eq applicationname.exe" |find ":" > nul

if errorlevel 1 taskkill /f /im "applicationname.exe"

answered Oct 26, 2016 at 12:32

Sarath Subramanian's user avatar

2

Here I wrote an example command that you can paste in your cmd command line prompt and is written for chrome.exe.

FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)

The for just takes all the PIDs listed on the below tasklist command and executes TASKKILL /PID on every PID

tasklist /FO Table /M "chrome*" /NH

If you use the for in a batch file just use %%P instead of %P

answered Feb 12, 2018 at 21:58

Eduard Florinescu's user avatar

Eduard FlorinescuEduard Florinescu

16.8k28 gold badges113 silver badges179 bronze badges

Перейти к содержанию

На чтение 1 мин Просмотров 2.9к. Опубликовано
Обновлено

Очень раздражает, что выйти из скайпа сейчас в венде невозможно.. Закрываешь его, закрываешь, а он просто сворачивается!

Единственный способ завершить процесс.

Делать это через диспеччер задач каждый раз не удобно, поэтому решил создать батник.

За сим:

Чтобы завершить приложение при помощи bat файла, необходимо выполнить такую команду в нем:

taskkill /im процесс.exe

В моём случае так:

taskkill /im Skype.exe

Создал файл с расширением bat на рабочем столе и убиваю любимую-испорченную мелкомягкими программу.

Похожий код:

Фото аватара

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Multitasking with many apps and programs in the background can become difficult to manage and kill the processes running in the background using just the Task Manager or even with tools like Microsoft Process Explorer. However, another way to kill tasks and processes is from the command line in Windows.

However, you can open the Task Manager, right-click the process, and then click “End Task” to kill off the process. You can also terminate a specific process from the Details tab in the Task Manager. Sometimes you encounter issues with the Task Manager itself. For times like these, you may need to kill a process using the command line, which includes both the Command Prompt and Windows PowerShell.

In this article, we show you multiple ways to kill a process in Windows using Command Line.

This Page Covers

Why use the command line to terminate a process?

Although a normal user will not require killing processes using the command line, there are several use cases where command line tools are much better than their visual counterparts like the task manager. The following command line tools can be used in the following scenarios:

  • Troubleshooting: Some processes are simply stubborn. They just stop responding and refuse to die. In such a condition, killing them forcefully using the command line is an easier and safer option.
  • System administration: If you are a sysadmin, you should be a fan of command line utilities. These tools save a lot of work and time. You can run these commands remotely throughout your network to troubleshoot systems remotely.
  • Script Automation: If you are a developer and need to start or stop processes in Windows, you will need these command line tools for automation.
  • Virus prevention: If your system gets infected with viruses, it will simply not let you kill the compromised processes, as they will respawn upon kill. In this case, you can automate a monitoring process where the process is killed as soon as it starts.

There are several other use cases, but these are the most common ones.

How to Kill a Process from Command Prompt

You can kill the process in cmd using the taskkill command. However, you must either know its Process Identifier (PID) or the name of the process before you can end it.

To view and list the tasks and processes currently running on your computer, run the following command in an elevated Command Prompt:

Tasklist

List all running processes

List all running processes

Note either the name under the Image name column or the PID number of the task you want to kill. These will be used in the cmdlets to kill the respective process.

Once you have either the name or the PID of the task, use either of the following cmdlets to kill the process:

  • Kill task using process name in Command Prompt:

    Replace [ProcessName] with the name of the process.

    taskkill /IM "[ProcessName]" /F

    Kill process from Command Prompt using process name

    Kill process from Command Prompt using process name
  • Kill task using PID in Command Prompt:

    Replace [PID] with the Process ID.

    taskkill /F /PID [PID]

    Kill process from Command Prompt using process ID

    Kill process from Command Prompt using a process ID

If you are using earlier versions of Windows, like Windows 7, Windows Vista or even Windows XP, you can use tskill command, which is similar to taskkill but limited in functionality. You just need to provide the process ID to kill a task using tskill command:

tskill process-id

Replace process-id with the actual process ID. For example,

tskill 1234

How to Kill a Process from Windows PowerShell

Similar to the Command Prompt, you can also kill processes using PowerShell. But first, we must get the name or the process ID for the process to kill.

To obtain a list of the running processes in PowerShell, run the following command in PowerShell with elevated privileges:

Get-Process

List all running processes in PowerShell

List all running processes in PowerShell

From here, note down the process name or the PID (in the ID column) of the process that you want to kill, and then use it in the following commands:

Note: Unlike the Command Prompt, Windows PowerShell shows no output once a process is killed.

  • Kill task using process name in PowerShell:

    Replace [ProcessName] with the name of the process.

    Stop-Process -Name "[ProcessName]" -Force

    Kill process from PowerShell using process name

    Kill process from PowerShell using process name
  • Kill task using PID in PowerShell:

    Replace [PID] with the Process ID.

    Stop-Process -ID [PID] -Force

    Kill process from PowerShell using process ID

    Kill process from PowerShell using a process ID

How to Kill a Process using WMIC

Windows Management Instrumentation Command-Line (WMIC) is a useful command line tool to perform administrative tasks especially for sysadmins and power users. You can terminate the process using wmic command.

Please note all the below mentioned commands will only work if you open Command Prompt, PowerShell or Terminal as an administrator.

wmic process where "ProcessId='process-id'" delete

Replace process-id with the actual process ID. For example,

wmic process where "ProcessId='1234'" delete

You can also terminate the process using its name:

wmic process where "name='process-name'" delete

Replace process-name with the actual process name. For example,

wmic process where "name='Skype.exe'" delete

If there are multiple processes by the same name, this command will kill all of them. For example, the above mentioned command will delete all instances with the name Skype.exe.

wmic commands to delete a process

wmic commands to delete a process

How to Kill a Process using SysInternals PsKills

PsKill is a tiny tool that comes with the PsTools Suite by SysInternals. This is a command-line tool used to kill processes, both locally and remotely on other computers on the network.

Although it was designed for WindowsNT and Windows 2000 that did not include the other command-line tools (Killtask and Stop-Process), PsKill can still be used to end processes.

Learn how to manage processes and services on remote computers.

Use the following steps to download and use PsKill to kill tasks using the command line on a Windows computer:

  1. Start by downloading PsTools.

    Download PSTools

    Download PSTools
  2. Extract the contents of the PsTool file.

    Extract PsTools

    Extract PsTools
  3. Launch an elevated Command Prompt and then use the CD cmdlet to change your directory to the extracted PsTools folder.

    CD [PathToPsTools]

    Change directory to PsTools folder

    Change directory to PsTools folder
  4. Run the following command to list all the running processes:

    PsList

    List all running processes using PsList

    List all running processes using PsList

    Note down the name of the process that you want to kill.

  5. Now use the following command to kill a process using its name:

    PsKill.exe [ProcessName]

    Kill process using PsKill

    Kill process using PsKill

As you can see from the image above, the respective process will be killed, and the associated service or program will be terminated.

Ending Thoughts

Even without the use of the Task Manager, there are multiple ways of killing a task or a process directly from the command line. You can even use these commands in scripts to end a Windows process.

On top of that, you can choose whether to kill a process using its name or its PID. Either way, Command Prompt and Windows PowerShell can be used with both native and external commands for this purpose. Not only that, but you can also use these commands in Windows Terminal for the same purpose.

If you are a sysadmin who wants quick and convenient methods to kill running processes, the given command line methods just might be the most convenient way of accomplishing it.

Task Scheduler

Issue

You want to create a Task scheduler that runs a batch file script to kill the current and restart the process.

What is Batch file

Before we continue, let see what is the batch file? According to Wikipedia — A batch file is a script file in DOS, OS/2 and Microsoft Windows. It consists of a series of commands to be executed by the command-line interpreter, stored in a plain text file. A batch file may contain any command the interpreter accepts interactively and use constructs that enable conditional branching and looping within the batch file, such as IF, FOR, and GOTO labels. The term “batch” is from batch processing, meaning “non-interactive execution”, though a batch file may not process a batch of multiple data.

Resolution

First, you need to create a batch file with the following script and save it on your local computer. E.g C:\Script

@echo off

taskkill /f /im notepad
TASKLIST | FINDSTR notepad.exe || start notepad.exe

EXIT
  • @echo off — Shows the message on a clean line disabling the display prompt. Typically, this line goes at the beginning of the file. (You can use the command without the “@” symbol, but using it hides the executing command to create a cleaner return.)
  • taskkill — Kill process on windows system. /f parameter Specifies to forcefully terminate the process(es). And /im parameter Specifies the image name of the process to be terminated. Wildcard ‘*’ can be used to specify all tasks or image names.
  • tasklist — Displays a list of currently running processes on either a local or remote machine.

Then, create a task scheduler with the following action:

Create Task Scheduler
Create Task Scheduler
Task Scheduler Action

If you like this article, please share, subscribe or you can follow our Facebook Page and Twitter.

Команда taskkill позволяет завершить вышедший из под контроля процесс в Windows 7, если Диспетчер задач Windows 7 (Task Manager) не справляется с этой задачей.

Иногда возникает необходимость вручную завершить процесс, который не отвечает. В большинстве случаев это можно сделать с помощью Диспетчера задач Windows, однако порой ему не удается справиться с вышедшим из под контроля приложением. Мне часто приходилось сталкиваться с этим при попытке завершить процесс Acronis. В такой ситуации я обычно использую более мощный инструмент — команду taskkill.

Чтобы воспользоваться taskkill, нужно открыть окно командной строки. Для этого вызовите окно «Выполнить» (Run) из меню «Пуск» (Start) или воспользуйтесь клавишной комбинацией [Win]+[R] и введите «cmd» (без кавычек) в поле «Открыть» (Open, рис. A).

Завершение процессов в Windows командой taskkill

Рисунок A. Откройте окно командной строки.

Использование команды taskkill

Общий синтаксис команды выглядит следующим образом:

taskkill [ОПЦИИ] [ИДЕНТИФИКАТОР ПРОЦЕССА]

Разумеется, для taskkill доступен широкий выбор опций. Перечислю лишь наиболее полезные из них:

• /s КОМПЬЮТЕР, где КОМПЬЮТЕР — это IP или адрес удаленного компьютера. По умолчанию, операция выполняется в локальной системе. Если именно это вас и интересует, данную опцию можно не использовать.

• /u ДОМЕН\ПОЛЬЗОВАТЕЛЬ, где ДОМЕН — это имя домена, а ПОЛЬЗОВАТЕЛЬ — имя пользователя, для которого нужно выполнить команду. Данная опция позволяет запускать taskkill с правами определенной учетной записи или домена.

• /p — обязательно используется в сочетании с опцией /u для указания пароля к учетной записи пользователя.

• /fi — позволяет выполнять команду taskkill с определенными фильтрами.

• /f — принудительно завершает выполнение команды.

• /IM — позволяет использовать имя приложения вместо идентификатора процесса.

Ну и разумеется, одна из самых полезных опций — переключатель для вызова справки (рис. В):

taskkill /?

Завершение процессов в Windows командой taskkill

Рисунок B. Вывод справочной информации по команде taskkill при использовании переключателя справки.Завершение процесса по имени приложения

Проще всего завершить вышедший из-под контроля процесс, воспользовавшись командой taskkill с использованием опции /IM. Выглядеть это будет так:

taskkill /IM ИМЯ_ПРИЛОЖЕНИЯ

Здесь ИМЯ_ПРИЛОЖЕНИЯ — это имя процесса, который требуется завершить. К примеру, если Outlook не удается закрыть, можно воспользоваться следующей командой:

taskkill /IM outlook.exe

Завершение процесса по идентификатора

Если вы не знаете имени процесса, но знаете его идентификатор (PID) — например, 572 — можно воспользоваться следующей командой:

taskkill /PID 572

Завершение всех процессов для определенной учетной записи

Существует также возможность завершить все процессы для определенной учетной записи. Это особенно актуально, если совершенно точно известно, что проблема связана с определенной учетной записью, или если пользователь уже вышел из системы, а запущенные им процессы перестали отвечать. В таком случае можно воспользоваться следующей командой:

taskkill /F /FI “USERNAME eq имя_пользователя”

Здесь имя_пользователя — это имя учетной записи, под которой запущены нежелательные процессы. Обязательно нужно включить в команду опцию USERNAME, чтобы указать соответствующее имя пользователя.Завершение процессов на удаленном компьютере

Еще одна удобная возможность — завершение процессов в удаленном режиме. Допустим, вы точно знаете, что система не отвечает из-за определенного процесса (возьмем для примера все тот же Outlook). В таком случае можно воспользоваться другим компьютером и выполнить следующую команду:

taskkill /s IP-АДРЕС /u ДОМЕН\ПОЛЬЗОВАТЕЛЬ /IM Outlook.exe

Здесь IP-АДРЕС — адрес удаленного компьютера (можно использовать и имя хоста, если компьютеры способны распознавать друг друга таким способом), ДОМЕН — имя домена (если требуется), а ПОЛЬЗОВАТЕЛЬ — имя пользователя, под которым был осуществлен вход на удаленный компьютер.В заключение

Команда taskkill — весьма мощный и функциональный инструмент, способный избавить от необходимости принудительной перезагрузки компьютера. Умелое использование этой команды в сочетании с Диспетчером задач продлевает время безотказной работы системы и даже позволяет бороться с вирусами, руткитами или троянцами.

Автор: Jack Wallen
Перевод

SVET

Оцените статью: Голосов

  • Сколько стоит поставить windows 10 на компьютер
  • Сколько стоит поставить windows 10 на ноутбук
  • Сколько стоит переустановка системы windows
  • Сколько стоит переустановить windows в москве
  • Сколько стоит переустановить windows 10 на компьютере