如下说明是翻译
PowerShell
中
: help Get-Process
产生的帮助信息
.
译者
: Edengundam(
马涛
)
Get-Process
大纲
取得运行在本地计算机上的进程
.
语法
Get-Process [[-name] <string[]>] [<CommonParameters>]
Get-Process -id <Int32[]> [<CommonParameters>]
Get-Process -inputObject <Process[]> [<CommonParameters>]
详细描述
Get-Process cmdlet
为每个进程取得一个进程对象
.
当不指定任何参数时
, "Get-Process"
取得计算机上所有的进程
,
与你输入
"Get-Process *"
一样
.
你也可以通过指定进程名称
,
进程
ID
或者将进程
ID(PID)
对象通过管道发送给
Get-Process
来识别一个特定进程
,
默认的识别方法是通过进程名称
.
对于
Stop-Process,
默认识别方法是通过进程
ID.
参数
-name <string[]>
通过进程名称指定一个或多个进程
.
你可以输入多个进程名称
(
使用逗号分隔
)
或者使用通配符
.
参数名称
("-Name")
为可选项
.
强制参数
?
|
false
|
参数位置
?
|
1
|
默认值
|
Null
|
允许从管道绑定输入
?
|
true (
根据属性名
)
|
允许通配符扩展
?
|
true
|
-inputObject <Process[]>
接受进程对象作为命令的输入
.
输入一个包含对象的变量
,
或者一个能够产生对象的命令或表达式
.
强制参数
?
|
true
|
参数位置
?
|
named
|
默认值
|
Null
|
允许从管道绑定输入
?
|
true (
根据值
)
|
允许通配符扩展
?
|
false
|
-id <Int32[]>
通过进程
ID(PID)
指定一个或多个进程
.
要指定多个
ID,
使用逗号分隔
ID.
要查看进程的
PID,
输入
"get-process".
强制参数
?
|
true
|
参数位置
?
|
named
|
默认值
|
Null
|
允许从管道绑定输入
?
|
true (
根据属性名
)
|
允许通配符扩展
?
|
false
|
<
公共参数
>
此命令支持公共参数
: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable.
更多信息
,
输入
, "get-help about_commonparameters".
输入类型
指定了
"ProcessName"
或
"Id"
属性的
PSObject,
如果都没有指定
,
就是所有进程
.
返回类型
Process Object(s).
更多的细节
,
请查看
.NET framework
中
System.Diagnostics.Process
类的文档
.
输出的对象根据进程名称排序
,
同名进程根据进程
ID
排序
.
注意
更多信息
,
输入
"Get-Help Get-Process -detailed".
需要技术信息
,
输入
"Get-Help Get-Process -full".
如果需要为该命令提供多个参数
,
请使用逗号进行分隔
.
例如
, "<parameter-name> <value1>, <value2>".
你不能在一个命令中同时指定
-Name, -ID
和
-InputObject
参数
.
你可以使用
Get-Process
内建别名
"ps"
和
"gps".
需要更多信息
,
查看
About_Alias
.
在
Windows PowerShell
中
,
你也能使用
WMI Win32_Process
对象的属性和方法
.
更多信息
,
查看
Get-WmiObject
和
Windows Management Instrument SDK.
默认显示的进程列表包括下面所列出的信息
:
·
Handles:
进程打开的句柄数
.
·
NPM(K):
进程正在使用的非分页内存量
,
单位
KB(kilobytes).
·
PM(K):
进程正在使用的可分页的内存量
,
单位
KB(kilobytes).
·
WS(K):
进程工作集的大小
,
单位
KB(kilobytes).
工作集包括进程最近引用的内存的页面
·
VM(M):
进程正在使用的虚拟内存量
,
单位
MB(megabytes).
虚拟内存包括磁盘上分页文件中的存储
.
·
CPU(s):
进程在所有的处理器上运行的时间
,
单位是秒
.
·
ID:
进程的进程
ID (PID).
·
ProcessName:
进程名称
.
关于进程相关概念的解释
,
可以参考帮助和支持中心的术语表或者查看任务管理器的帮助
.
你可以通过
Format-Table
来使用内建的进程可选视图
,
例如
"StartTime"
和
"Priority",
你还能自己设计属于自己的视图
.
更多信息
,
输入
"Get-Help Format-Table -detailed".
例
1
C:/PS>Get-Process
此命令取得本地计算机上运行进程的列表
.
每列的定义
,
请看
"Get-Help Get-Process -Full."
输出的
"
注意
"
章节
.
例
2
C:/PS>Get-Process winword, explorer | format-list *
此命令取得计算机上
Winword
和
Explorer
进程的所有信息
.
它使用
Name
参数来指定进程
,
但是它省略了参数名称
.
管道运算符
(|)
将信息传递给
Format-List
cmdlet,
后者显示所有
Winword
和
Explorer
进程对象的可用属性
(*).
你也能够通过进程
ID
指定进程
.
例如
, "get-process -id 664, 2060".
例
3
C:/PS>get-process | where-object {$_.WorkingSet -gt 20000000}
此命令取得所有工作集大于
20 MB
的进程对象
.
它使用
Get-Process cmdlet
取得所有运行的进程
.
管道运算符
(|)
将进程对象传递给
Where-Object
cmdlet,
后者只将工作集属性值大于
20,000,000
字节的进程选出
.
WorkingSet
是进程对象众多属性之一
.
要查看进程的所有属性
,
输入
"Get-Process | Get-Member".
默认情况下
,
虽然所有统计数量的属性显示时以
KB
或
MB
显示
,
但是它们都以字节为单位进行存储
.
例
4
C:/PS>$a = get-process
get-process -inputobject $a | format-table -view priority
这些命令将会根据进程优先级以分组形式显示计算机上的进程
.
第一个命令取得计算机上运行的进程并存储到变量
$a
中
.
第二个命令使用参数
InputObject
将变量
$a
中存储的进程对象传递给
Get-Process.
管道运算符将结果发送给
Format-Table
cmdlet,
后者根据位于
Windows PowerShell
主目录
($pshome)
下的
PS1XML
格式文件中定义的优先级视图来格式化显示进程的格式
.
相关链接
Stop-Process