如下说明是翻译
: 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