在 PowerShell 中获取正在运行的进程列表

Migel Hewage Nimesha 2024年2月15日
在 PowerShell 中获取正在运行的进程列表

本文介绍了 Get-Process cmdlet 以列出 PowerShell 中正在运行的进程。

使用 Get-Process Cmdlet 在 PowerShell 中显示正在运行的进程列表

PowerShell 环境中有 200 多个 cmdlet 可用。每个 cmdlet 负责执行特定的功能。

Get-Process 是常用的 cmdlet 之一,可帮助检索 Windows 机器上正在运行的进程列表。

此 cmdlet 提供与每个进程相关的有用信息,例如进程 ID、名称、内存使用情况等。此外,它还显示系统正在运行的进程的快照。

语法:

Get-Process [[-ProcessName] string[]] [-NameOfTheComputer string[]]
         [-FileVersionInfo] [-Module] [CommonParameters]

Get-Process -processID Int32[] [-ComputerName string[]]
         [-FileVersionInfo] [-Module] [CommonParameters]

Get-Process -ProcessInputObject Process[] [-ComputerName string[]]
         [-FileVersionInfo] [-Module] [CommonParameters]

这些参数对于 Get-Process cmdlet 是可选的,你可以根据自己的要求使用这些参数。

显示所有正在运行的进程

我们可以直接使用 Get-Process 命令而无需任何参数。它应该显示当时所有正在运行的进程。

此外,可以使用 gps 别名代替 Get-Process 命令。

Get-Process
gps

输出:

显示所有正在运行的进程

输出表中有几个有用的信息。

  1. Id - 给定进程的唯一标识符。
  2. ProcessName - 进程的名称。
  3. CPU(s) - 这是进程使用的处理器时间(以秒为单位)。
  4. PM(K) - 可分页内存的大小(以千字节为单位)。

检索单个进程的信息

Get-Process -Name typora

或者

Get-Process typora

上述两个命令将按给定的进程名称过滤进程列表,并显示该特定进程名称的正在运行的进程。

输出:

获取进程名称

检索多个进程的信息

你可以通过名称参数指定多个进程作为名称参数。它将列出所有带有相关信息的进程。

Get-Process NotePad, Outlook

输出:

获取处理多个

此外,你可以使用通配符作为进程名称。

检索具有给定属性的流程对象

我们可以在需要时显示特定属性的流程对象信息。让我们只检索 NotePad 进程的 Process ID

(Get-Process NotePad).Id

输出:

检索具有给定属性的流程对象

此外,我们可以检索 NotePad 进程的 CPU 时间属性,如下所示。

(Get-Process NotePad).CPU

输出:

getprocess cpu

显示进程所有者

Get-Process 命令的默认输出不显示 ProcessOwner 属性。但是当你需要终止给定进程时,这可能是一条有价值的信息。

我们可以使用 -IncludeUserName 参数在输出中包含 ProcessOwner 属性。

Get-Process -Name notepad -IncludeUserName

输出:

Get-Process IncludeUserName

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.