Stop-Process PowerShell cmdlet stops the process if running. You can kill the process if running using the process name, process Id (PID), or process object to Stop-Process.
More often, we have an application that stops responding, and even after waiting for a time, it still displays a program not responding message.
There are ways to kill the process if running using task manager to select the process and kill it.
Another option is to use the PowerShell Stop-Process cmdlet to kill a process by PID, or Process name or kill the process if running.
In this article, I will explain how to stop the process if running in PowerShell using process name, process id on the local system.
Stop-Process PowerShell cmdlet
Syntax –
Stop-Process [-Id] <Int32[]> [-PassThru] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] Stop-Process -Name <String[]> [-PassThru] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>] Stop-Process [-InputObject] <Process[]> [-PassThru] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]
Parameters:
Id – Process Id (PID), use commas to separate multiple Id
Name – Process Name, use commas to separate multiple process names or use wildcard characters to get process name
InputObject – process object returned by variable or command.
PassThru – Pass the object created by Stop-Process over the pipeline to another command
Force – forcefully stop the process without prompt confirmation
Confirm – Prompt for confirmation to execute the command.
Note: PowerShell Stop-Process cmdlet only stops processes running on the local computer.
Let’s understand Stop-Process in PowerShell with examples.
Kill Process if running by name using PowerShell
You can kill all instances of the process if running by process name on the local computer using the Stop-Process command below
Stop-Process -Name "notepad"
Above command, use Name parameter to specify the process name as notepad.
Stop-Process kills all the instances of a notepad application.
Each instance of the notepad application has its own PID. It will stop all instances of a notepad application as it has the same name.
Cool Tip: How to use base64 encode the file in PowerShell!
Stop Process if running by PID using PowerShell
You can kill the process by process id using Stop-Process as given below
Stop-Process -Id 38592 -Confirm -PassThru
In the above PowerShell command, Stop-Process uses PID to kill the process specified by process PID.
Confirm parameter prompt for confirmation to perform the action or not. If you select, Yes or Yes to All, it will stop a process if running.

On Confirmation, it will terminate the process and print the output below
Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
247 15 3360 15164 0.27 38592 1 notepad
Stop Process using Process Object
If you want to stop process using a process object returned by a command or stored in a variable, use the InputObject parameter to pass an object to the Stop-Process cmdlet.
Use the Get-Process cmdlet to get a process and store process object in a variable, run the below command
# Get Process and store object in variable $ProcessObject = Get-Process -Name notepad # Pass object to Stop-Process using InputObject parameter Stop-Process -InputObject $ProcessObject # Check if process stopped or not Get-Process | Where-Object {$_.HasExited}
In the above PowerShell command, the Stop-Process PowerShell cmdlet kills process, and the next command checks if the killed process still exists or not.
Stop Process Not Owned by the Current User
If you want to stop process not owned by the current user, you will need to open PowerShell with the Run as administrator option.
Using the Force the parameter will terminate the process.
If you try to kill process not owned by the current user without an administrator option will display a message as
Stop-Process : Cannot stop process 'notepad(1353)' because of the following error: Access is denied
At line:1 char:3
Use the following script to stop process not owned by the current user
Get-Process -Name notepad | Stop-Process -Force
The first command gets the process notepad using the Get-Process cmdlet and passes it to the second command.
The second command uses the Stop-Process cmdlet to kill the process object forcefully using the Force parameter.
Note: Open PowerShell run as administrator to stop process. Only administrator group members can stop process not owned by the current user.
Cool Tip: How to get-process user name in PowerShell!
Conclusion
I hope the above article helps you to use the Stop-Process PowerShell cmdlet to kill process specified by name or process id (PID) or kill process not owned by the current user.
You can find more topics about PowerShell Active Directory commands and PowerShell basics on the ShellGeek home page.