PowerShell 进程管理
最后修改:2025 年 2 月 15 日
本教程涵盖了 PowerShell 中用于管理系统进程的基本命令。学习如何通过 cmdlet 查看、停止和控制应用程序及服务。
进程是正在运行的程序实例,它们会消耗系统资源。PowerShell 提供了强大的命令来与进程交互,以便进行系统管理。
列出进程
使用 Get-Process
来检索有关正在运行的进程的信息
processes.ps1
Get-Process
此命令显示所有活动的进程,并提供 ID、CPU 使用率和内存消耗等详细信息。添加进程名称作为参数可以筛选结果。
Get-Process
不带参数执行会以表格格式列出所有正在运行的进程。列包括 Handles、CPU 和 ProcessName。
PS C:\> .\processes.ps1 Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName ------- ------ ----- ----- ------ -- -- ----------- 435 25 62248 70972 1.58 9360 2 chrome 258 15 15244 27208 0.09 4788 2 explorer
停止进程
使用 Stop-Process
终止进程。在停止系统进程时务必小心。
stop_process.ps1
Stop-Process -Id 1234 -Force Stop-Process -Name "notepad" -Force
第一个命令通过 ID 停止进程,第二个命令终止指定进程的所有实例。-Force
参数可确保立即终止。
-Id 1234
指定要终止的进程 ID。使用 Get-Process
获取 ID。
-Name "notepad"
定位具有指定名称的所有进程。支持通配符以进行部分匹配。
启动进程
使用 Start-Process
启动应用程序
start_process.ps1
Start-Process notepad -PassThru
这会启动记事本并返回一个进程对象。-PassThru
参数允许对新进程进行进一步操作。
-PassThru
为新创建的进程返回一个进程对象,允许访问属性或将其传递给其他命令。
筛选进程
将 Get-Process
与 Where-Object
结合使用进行高级筛选
filter_processes.ps1
Get-Process | Where-Object {$_.CPU -gt 100}
此管道显示 CPU 使用时间超过 100 秒的进程。调整比较值以设置不同的阈值。
{$_.CPU -gt 100}
筛选 CPU 属性超过 100 秒的进程。$_
变量代表当前的管道对象。
来源
精通 PowerShell 中的进程管理可以实现高效的系统监控和资源控制。这些命令构成了自动化脚本和管理任务的基础。
作者
列出 所有 PowerShell 教程。