如下说明是翻译: help Stop-Process 产生的帮助信息.
译者: Edengundam(马涛)
Stop-Process
大纲
停止一个或多个运行的进程.
语法
Stop-Process [-id] <Int32[]> [-passThru] [-whatIf] [-confirm] [<CommonParameters>]
Stop-Process -name <string[]> [-passThru] [-whatIf] [-confirm] [<CommonParameters>]
Stop-Process -inputObject <Process[]> [-passThru] [-whatIf] [-confirm] [<CommonParameters>]
详细描述
Stop-Process cmdlet停止一个或多个运行的进程. 你能够通过指定进程名称或进程ID(PID)来标示进程, 或者传递进程对象给Stop-Process. 对于Get-Process来说, 默认将会使用进程名称进行操作. 对于Stop-Process来说, 默认将会使用进程ID进行操作.
参数
-id <Int32[]>
指定要停止的进程ID. 指定多个ID时, 使用逗号分割. 要查看进程的PID, 输入"get-process". 参出名("-Id")是可选的.
强制参数?
|
true
|
参数位置?
|
1
|
默认值
|
Null
|
允许从管道绑定输入?
|
true (根据属性名)
|
允许通配符扩展?
|
false
|
-inputObject <Process[]>
停止通过进程对象表示的进程. 输入一个包含对象的变量, 或者一个能够产生对象的命令或表达式.
强制参数?
|
true
|
参数位置?
|
named
|
默认值
|
|
允许从管道绑定输入?
|
true (ByValue)
|
允许通配符扩展?
|
false
|
-name <string[]>
指定要停止的进程名称. 你可以输入多个进程名称(使用逗号分隔), 此参数允许使用通配符.
强制参数?
|
true
|
参数位置?
|
named
|
默认值
|
Null
|
允许从管道绑定输入?
|
true (ByPropertyName)
|
允许通配符扩展?
|
true
|
-passThru <SwitchParameter>
输出此命令创建的对象到管道中. 默认情况下, 此命令不会将对象输出到管道.
强制参数?
|
false
|
参数位置?
|
named
|
默认值
|
False
|
允许从管道绑定输入?
|
false
|
允许通配符扩展?
|
false
|
-whatIf
描述执行此命令将会发生的现象, 不会真正执行此命令.
强制参数?
|
false
|
参数位置?
|
named
|
默认值
|
|
允许从管道绑定输入?
|
false
|
允许通配符扩展?
|
false
|
-confirm
执行命令前提示你进行确认.
强制参数?
|
false
|
参数位置?
|
named
|
默认值
|
|
允许从管道绑定输入?
|
false
|
允许通配符扩展?
|
false
|
<公共参数>
此命令支持公共参数: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息, 输入, "get-help about_commonparameters".
输入类型
包含属性"Name"或"Id"的PSObjects, 或者是字符串, 数字.
返回类型
默认情况无任何返回. 当制定了参数-passthru, 一个PSObject将会沿着管道被输入.
注意
更多信息, 输入"Get-Help Stop-Process -detailed".需要技术信息, 输入"Get-Help Stop-Process -full".
如果需要为该命令提供多个参数, 请使用逗号进行分隔. 例如, "<parameter-name> <value1>, <value2>".
在Windows PowerShell中, 你还可以使用WMI的Win32_Process对象的方法和属性. 需要更多信息, 参看Get-WmiObject以及Windows Management Instrument SDK.
你可以使用Stop-Process内建别名"kill"和"spps".需要更多信息, 查看About_Alias.
停止某些进程时, 需要注意某些依赖被停止的进程也会被停止. 在极端情况下, 停止进程可能会停止Windows.
例1
C:/PS>stop-process -name notepad
此命令停止计算机上所有Notepad进程实例. (每个Notepad实例运行在独立的进程中.) 此处使用参数Name指定停止的进程, 这些进程拥有同样的名字. 如果你使用参数ID来停止同样名字的进程, 你必须列出Notepad实例的所有进程ID.
例2
C:/PS>stop-process -id 3952 -confirm -passthru
此命令停止一个特定的Notepad进程实例. 使用进程ID, 3952来标示该进程. 参数Confirm指示Windows PowerShell在停止该进程前询问用户. 因为提示中包含了进程的名称和ID, 更加适合日常使用. 参数Passthru传递进程对象到格式器来显示信息. 如果不使用此参数, 命令Stop-Process将不会产生任何输出.
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 321 23 139 52 notepad
例3
C:/PS>calc
c:/PS>$p = get-process calc
c:/PS>stop-process -inputobject $p
c:/PS>get-process | where-object {$_.HasExited}
这几步操作启动, 停止Calc进程, 并检测该进程是否已经退出.
第一个命令("calc")启动一个计算器实例. 第二个命令("$p = get-process calc"), 使用Get-Process cmdlet取得一个表示Calc进程的对象, 并存储在变量$p中. 第三个命令("stop-process -inputobject $p") 使用Stop-Process cmdlet来停止Calc进程. 此处使用参数InputObject将要操作的对象传递给Stop-Process.
最后一条命令获取计算机上, 已经停止的的所有进程. 此处使用Get-Process cmdlet取得计算机上所有的进程. 管道运算符(|)将结果发送给Where -Object cmdlet选择那些属性HasExited值为真的对象. 属性HasExited是进程对象上的属性. 要查看所有属性, 输入"get-process | get-member".(译者注: 最后一条命令并不能给出任何结果, 可以使用$p | ?{$_.HasExited来检查})
相关链接
Get-Process