Process management helps you see and control programs running on your computer. You can find and stop programs easily.
Process management (Get/Stop-Process) in PowerShell
Start learning this pattern below
Jump into concepts and practice - no test required
Get-Process [-Name <string[]>] [-Id <int[]>] Stop-Process [-Name <string[]>] [-Id <int[]>] [-Force]
Get-Process shows running programs by name or ID.
Stop-Process stops a program by name or ID. Use -Force to stop it immediately.
Get-Process
Get-Process -Name notepad
Stop-Process -Name notepad
Stop-Process -Id 1234 -ForceThis script shows all running Notepad processes, stops them, then tries to show them again to confirm they stopped.
Write-Host "List of running Notepad processes:" Get-Process -Name notepad Write-Host "Stopping all Notepad processes..." Stop-Process -Name notepad Write-Host "Notepad processes after stopping:" Get-Process -Name notepad -ErrorAction SilentlyContinue
If you try to stop a process that is not running, PowerShell shows an error unless you use -ErrorAction SilentlyContinue.
Use Get-Process to find the exact name or ID of the process before stopping it.
Stopping system processes can cause your computer to crash. Only stop processes you know.
Get-Process shows running programs by name or ID.
Stop-Process stops programs safely or forcefully.
Use these commands to control programs running on your computer easily.
Practice
Get-Process do?Solution
Step 1: Understand the purpose of Get-Process
The commandGet-Processis used to display information about processes currently running on the computer.Step 2: Compare options with command function
Only Lists all running processes on the computer correctly describes listing running processes. Other options describe different actions not related toGet-Process.Final Answer:
Lists all running processes on the computer -> Option AQuick Check:
Get-Process lists processes = A [OK]
- Confusing Get-Process with Stop-Process
- Thinking Get-Process starts or deletes processes
- Assuming it modifies processes instead of listing
Solution
Step 1: Identify correct cmdlet and parameter
The cmdlet to stop a process isStop-Process. The parameter to specify process by name is-Name.Step 2: Validate syntax correctness
Stop-Process -Name notepad uses correct cmdlet and parameter:Stop-Process -Name notepad. Get-Process -Stop notepad uses wrong cmdlet and parameter. Stop-Process notepad -Force misses the parameter name before 'notepad'. Kill-Process -Name notepad uses a non-existent cmdlet.Final Answer:
Stop-Process -Name notepad -> Option DQuick Check:
Stop-Process with -Name is correct syntax = C [OK]
- Omitting the -Name parameter
- Using incorrect cmdlet names like Kill-Process
- Placing process name without parameter name
Get-Process -Name powershell | Stop-Process -PassThru
Solution
Step 1: Understand the pipeline usage
The command gets the process named 'powershell' and pipes it toStop-Process. The-PassThruparameter makesStop-Processoutput the stopped process object.Step 2: Predict command behavior
The process will be stopped, and its details will be shown as output. No error occurs because piping is supported.Final Answer:
Stops the PowerShell process and outputs the stopped process details -> Option BQuick Check:
Get-Process piped to Stop-Process with -PassThru stops and outputs = B [OK]
- Thinking Stop-Process cannot accept pipeline input
- Assuming it only lists processes without stopping
- Confusing -PassThru as a force stop
Stop-Process -Name
What is the problem and how to fix it?
Solution
Step 1: Identify the error cause
The command uses-Nameparameter but does not specify the process name, causing a syntax error.Step 2: Correct the command
To fix, provide the process name after-Name, for example:Stop-Process -Name notepad.Final Answer:
Missing process name after -Name; add the process name -> Option CQuick Check:
Parameter -Name needs a value = D [OK]
- Leaving -Name without a value
- Assuming -Force is always required
- Confusing Stop-Process with Get-Process
Solution
Step 1: Understand memory property and filtering
TheWorkingSetproperty shows memory usage in bytes. 100 MB equals 100,000,000 bytes approximately.Step 2: Filter processes by memory and stop them
Get-Process -Name chrome | Where-Object { $_.WorkingSet -gt 100000000 } | Stop-Process correctly filters chrome processes with memory usage greater than 100,000,000 bytes and pipes them toStop-Process. Get-Process -Name chrome | Where-Object { $_.WorkingSet -gt 100MB } | Stop-Process uses '100MB' which is invalid syntax. Options C and D use non-existent parameters.Final Answer:
Get-Process -Name chrome | Where-Object { $_.WorkingSet -gt 100000000 } | Stop-Process -> Option AQuick Check:
Memory in bytes filter with Where-Object = A [OK]
- Using '100MB' as a value instead of bytes
- Trying to use Stop-Process parameters that don't exist
- Not filtering processes before stopping
