如何用PowerShell获取进程信息

如何用PowerShell获取进程信息,第1张

如何用PowerShell获取进程信息,第2张

在脚本学校的上一篇专栏文章中,我们讨论了如何收集用户输入,为其分配变量,并在帮助文档中记录变量。这一次,我们将解释如何在您的计算机中检索进程的基本信息,以及如何使用Windows PowerShell来结束不需要的进程。
检索流程信息

Windows PowerShell中的Get-process cmdlet可以帮助您从计算机中检索进程信息。不带任何参数运行该命令,您可以得到如下所示的输出:

处理NPM(K) PM(K) WS(K) VM(M) CPU(s) ID进程名
----
21018 4 2084 5036 35 1.84 496 1 xconfig
103 5 1156 3560 32 0.08 2308 alg
69 2 604 2336 19 2.52 1176 ATI 2 evxx

如果你不确定缩写NPM、WS和VM代表什么,你可以使用下表。

资源缩写
Handles的描述没有进程智能指针号,对内存存储区开放。当手柄关闭时,内存被释放。
非分页池(以千字节为单位)NPM(非分页内存)非分页池是从不分页到硬盘的内存,所以访问速度更快。
分页池(以千字节为单位)pm(分页内存)如果有空的需求,可能会将分页池发送到磁盘。这使得分页池大于非分页池(因为内存空只受磁盘上分页文件的限制)。由于所需数据存储在硬盘上,一些内存读取操作可能需要更长时间。
工作集(以千字节为单位)WS工作集是指一个进程占用物理内存的页面集。只有存储在物理内存中的数据(目前没有分页到磁盘)在工作集中。
虚拟内存(以兆字节为单位)VM仅用于进程的虚拟内存量。
CPU time(秒)CPU进程(包括所有可用的处理器)占用的处理器时间。
进程ID没有给定进程的标识符。即使在共享计算机上,每个进程也只有一个进程ID。
进程名称没有易于记忆的进程标识,但不一定与进程ID相同。
注意:您还将看到许多其他流程属性。要查看它们的属性名,只需键入get-process | get-member。基本列表对于我们今天的目的来说已经足够了,但是如果您想要操作这些流程属性,您需要检查完整的列表。

如何检索负载的过程

您不一定需要所有进程的列表,但是您需要大致知道哪些进程占用了大部分资源。例如,进程的工作集(如上表所述)可以很好地表明其系统内存压力。为了找出工作集大于10MB的所有进程,请输入以下命令:

get-process | where-object {$_。工作集-gt 10000000}

记住,美元符号代表变量。现在让我们看看这些进程的名称、工作集属性和工作集是否大于(上面命令中的gt)给定值。

此命令将查找每个进程,并将结果发送到where-object cmdlet进行评估。然后你会收到一个和完整列表格式完全一样的列表,但是这个列表要短很多。

结束不必要的过程。

如果自己管理电脑,很容易得到一些无用的进程。举个例子,有一天你想在机场上网,结果你可能把Boingo客户端进程留在了电脑里。有没有下载过某系统审计软件的试用版?即使您已经几个月没有使用它,进程列表中可能仍然包含系统审计代理。

当然,任务管理器也可以显示进度。但是get-process更容易查看数据。例如,您可以不使用滚动条查看完整的列表。你需要处理这些垃圾进程,但同时你也可以结束它们。在终止一个进程之前,你应该知道你在做什么。如果不确定是为了哪个过程,就不要贸然结束。

要结束一个进程,首先从整个列表或消耗最多资源的前十个进程中检索它们的标识信息。然后,运行停止进程命令。如果不带任何参数运行这个命令,它会提示您输入进程ID号(只输入进程名不能结束进程)。可以根据自己的意愿结束多个进程。完成后,按Enter键退出cmdlet。

您还可以使用–name parameter、stop-process -name processname和其他命令按名称停止进程。但是,我不建议这样做。您应该养成用进程ID结束进程的习惯。虽然记住进程ID比记住进程名更困难,但这有助于防止共享计算机上其他人的进程结束。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 如何用PowerShell获取进程信息

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情