---
title: "Stop-Process: find and stop a process in PowerShell"
canonical: https://saasranked.com/guides/stop-process-powershell/
applies_to: Windows PowerShell 5.1, PowerShell 7
checked: 2026-09-14 (against Microsoft's documentation)
updated: 2026-09-14
---

# Stop-Process: find and stop a process in PowerShell

- Stop-Process -Name stops all instances with that name, while -Id stops only the process with that PID [1].
- Stop-Process doesn't ask for confirmation unless you add -Confirm, except for processes you don't own [1].
- To stop a process that another user owns, start PowerShell with the Run as administrator option [1].
- -Force stops the process without the confirmation prompt that appears for processes you don't own [1].
- Stopping a process can stop processes and services that depend on it, and in an extreme case it can stop Windows [1].

To stop a process in PowerShell, first find its name or process ID (PID) with Get-Process [2]. Then run Stop-Process -Name to stop every instance with that name, or Stop-Process -Id to stop one instance [1]. Add -WhatIf to see what would happen without stopping anything, or -Confirm to be asked before it stops [1].

## Syntax

Stop-Process picks a process by ID, by name or from a process object [1]. These are the two forms you will use most.

```powershell
Stop-Process [-Id] <Int32[]> [-PassThru] [-Force] [-WhatIf] [-Confirm]
Stop-Process -Name <String[]> [-PassThru] [-Force] [-WhatIf] [-Confirm]
```

- `-Id` is one or more process IDs, separated by commas. To find a PID, run `Get-Process` [1].
- `-Name` is one or more process names, separated by commas. Wildcards are allowed [1].
- `-WhatIf` shows what would happen if the cmdlet runs. The cmdlet is not run [1].
- `-Confirm` asks you before the cmdlet runs [1].
- `-Force` stops the process without asking. Without it, Stop-Process asks before it stops a process that the current user doesn't own [1].
- `-PassThru` returns an object for the stopped process. By default, Stop-Process returns no output [1].

## Examples

### Find the process first

Get-Process gets the processes on the local computer. You can name a process with `-Name` or pick one by PID with `-Id` [2].

```powershell
Get-Process -Name notepad
```

Its default table includes the columns NPM(K), PM(M), WS(M), CPU(s), Id, SI and ProcessName. The Id column is the PID [2].

### Preview the stop with -WhatIf

Run the command with `-WhatIf` first. The cmdlet does not run [1]. PowerShell lists the operation and the items it would affect instead [3].

```powershell
Stop-Process -Name "notepad" -WhatIf
```

### Stop every instance by name

This stops all instances of the Notepad process. Each instance runs in its own process, and they all share the same name [1].

```powershell
Stop-Process -Name "notepad"
```

It returns nothing by default [1].

### Stop one instance by ID and confirm it

This stops only the process with ID 3952. `-Confirm` makes PowerShell ask before it stops the process, and `-PassThru` shows the stopped process [1].

```powershell
Stop-Process -Id 3952 -Confirm -PassThru
```

Microsoft shows this output [1]:

```text
Confirm
Are you sure you want to perform this action?
Performing operation "Stop-Process" on Target "notepad (3952)".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
(default is "Y"):y
Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
41       2      996       3212    31            3952 notepad
```

Microsoft calls this best practice, because the prompt shows the process name as well as its ID [1].

### Pipe a process from Get-Process

You can pipe a process object to Stop-Process [1]. This lets you check the process with Get-Process, then stop the same one.

```powershell
Get-Process -Name "notepad" | Stop-Process
```

It returns nothing by default [1].

### Stop a process you don't own

This needs a PowerShell window opened with **Run as administrator** [1]. Without `-Force`, PowerShell asks you to confirm. With `-Force`, the process stops without a prompt [1].

```powershell
Stop-Process -Id 3952 -Force
```

Be careful here. Stopping a process can stop processes and services that depend on it. In an extreme case, it can stop Windows [1].

## Common errors

**`Access is denied`.** Microsoft shows this message when a standard window tries to stop a process the user doesn't own [1]:

```text
Stop-Process : Cannot stop process 'lsass (596)' because of the following error: Access is denied
```

In that example, the process can be stopped only by a member of the Administrator group on the computer. Open PowerShell with **Run as administrator** and try again [1].

**Too many windows closed.** `-Name` stops every instance with that name [1]. To stop just one, find its PID with Get-Process and use `-Id` [1][2].

**The process still shows up.** Stop-Process runs asynchronously. Wait with the Wait-Process cmdlet, or check the HasExited property of the process object [1].

**Get-Process output won't pipe to Stop-Process.** With `-Module` or `-FileVersionInfo`, Get-Process returns a different type of object. You can't pipe that output to a cmdlet that expects a process object, such as Stop-Process [2].

**You need to stop another PowerShell window, not this one.** Several PowerShell processes can share one name. The `$PID` variable holds the ID of the process that hosts your current session, so you can tell it apart from the others [2].

## Questions

**Is there a kill command in PowerShell?** Yes. On Windows, kill is an alias for Stop-Process. The alias spps works on all platforms [1].

**How do I find the PID of a process?** Run Get-Process. The Id column shows the process ID (PID) of each process [2]. To see who owns a process, add -IncludeUserName [2].

**Can Stop-Process stop a process on another computer?** No. Stop-Process works only on processes running on the local computer [1].

**Do I need administrator rights to stop a process?** Only for a process that the current user doesn't own. For those, start PowerShell with the Run as administrator option [1].

## Sources

1. [Stop-Process (Microsoft.PowerShell.Management)](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/stop-process), Microsoft Learn, accessed 2026-09-14
2. [Get-Process (Microsoft.PowerShell.Management)](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-process), Microsoft Learn, accessed 2026-09-14
3. [about_CommonParameters](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_commonparameters), Microsoft Learn, accessed 2026-09-14

Checked against Microsoft's documentation on 14 Sept 2026.
