PowerShell Stop-Process
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍PowerShell中的Stop-Process cmdlet。此cmdlet会终止系统中正在运行的进程。它是进程管理和故障排除的强大工具。
进程终止基础知识
进程终止是停止正在运行的程序实例的行为。Stop-Process cmdlet向一个或多个进程发送终止信号。进程可以通过名称或进程ID(PID)进行识别。如果进程对正常关机无响应,可以强制终止。
Stop-Process 的基本用法
使用Stop-Process的最简单方法是使用-Name参数。这将停止所有与指定名称匹配的进程。支持通配符进行部分匹配。某些进程需要管理员权限才能运行该命令。
Stop-Process -Name "notepad"
此命令终止所有正在运行的记事本实例。如果没有运行记事本进程,则不执行任何操作。除非发生错误,否则命令会静默运行。
按ID停止进程
可以使用进程的唯一进程ID(PID)精确地终止进程。当您需要定位特定实例时,这很有用。使用-Id参数后跟PID。您可以使用Get-Process查找PID。
Stop-Process -Id 1234
此命令终止ID为1234的进程。由于PID是唯一的,因此只会停止一个进程。如果PID不存在,命令将失败。
强制停止进程
某些进程可能抵制正常的终止尝试。可以使用-Force参数强制终止。这将绕过任何确认提示。请谨慎使用,因为它可能导致应用程序中的数据丢失。
Stop-Process -Name "hangapp" -Force
此命令强制终止“hangapp”的所有实例。-Force参数确保立即终止进程。不会向用户显示保存提示。
停止多个进程
可以通过提供多个名称或ID来一次停止多个进程。使用逗号分隔值。这对于批量终止相关进程非常有效。进程名称支持通配符。
Stop-Process -Name "chrome","firefox","edge"
此命令终止Chrome、Firefox和Edge浏览器的所有实例。每个进程名称都被单独处理。该命令会尝试停止所有匹配的进程。
停止前确认
在进程终止之前,-Confirm参数会添加一个安全检查。这将提示用户确认每次进程停止。当您想防止意外终止时,这很有用。提示会显示进程名称和ID。
Stop-Process -Name "importantapp" -Confirm
此命令将在停止“importantapp”之前提示确认。用户必须明确批准每次终止。这增加了一层保护,防止错误。
使用管道停止进程
Stop-Process可以从管道接收进程对象。这允许与Get-Process结合使用以进行强大的过滤。您可以先选择进程,然后终止它们。这种方法非常灵活。
Get-Process -Name "oldapp*" | Stop-Process
此命令查找所有以“oldapp”开头的进程并停止它们。管道将进程对象直接传递给Stop-Process。不需要中间变量。
使用WhatIf停止进程
WhatIf参数在实际停止进程之前显示将发生什么。这对于测试命令很有用。它显示将终止哪些进程。系统不会进行任何更改。
Stop-Process -Name "testapp" -WhatIf
此命令模拟停止“testapp”进程。输出显示如果执行会发生什么。在实际运行命令之前,这是一种验证命令行为的安全方法。
按窗口标题停止进程
虽然不支持直接支持,但您可以通过组合使用cmdlet来按窗口标题停止进程。这需要按MainWindowTitle属性过滤进程。这对于GUI应用程序很有用。
Get-Process | Where-Object { $_.MainWindowTitle -like "*Untitled*" } | Stop-Process
此命令查找窗口标题中包含“Untitled”的进程并停止它们。Where-Object cmdlet按窗口标题进行过滤。这种方法最适合具有可见窗口的应用程序。
来源
在本文中,我们介绍了PowerShell中的Stop-Process cmdlet。
作者
列出 所有 PowerShell 教程。