PowerShell で実行中のプロセスのリストを取得する
この記事では、PowerShell で実行中のプロセスを一覧表示するための Get-Process
コマンドレットを紹介します。
PowerShell で Get-Process
コマンドレットを使用して実行中のプロセスのリストを表示する
PowerShell 環境では 200 を超えるコマンドレットを使用できます。各コマンドレットは、特定の機能を実行する役割を果たします。
Get-Process
は、Windows マシンで実行中のプロセスのリストを取得するのに役立つ頻繁に使用されるコマンドレットの 1つです。
このコマンドレットは、プロセス 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
コマンドレットのオプションであり、要件に基づいてこれらのパラメータを使用できます。
実行中のすべてのプロセスを表示する
パラメータなしで Get-Process
コマンドを直接使用できます。その時点で実行中のすべてのプロセスが表示されます。
また、Get-Process
コマンドの代わりに gps
エイリアスを使用できます。
Get-Process
gps
出力:
出力テーブルには、いくつかの有用な情報があります。
Id
- 特定のプロセスの一意の識別子。ProcessName
- プロセスの名前。CPU(s)
- これは、プロセスが使用したプロセッサ時間です(秒単位で指定)。PM(K)
- ページング可能なメモリのサイズ(キロバイトで指定)。
単一プロセスの情報を取得する
Get-Process -Name typora
また
Get-Process typora
上記の 2つのコマンドは、指定されたプロセス名でプロセスのリストをフィルタリングし、その特定のプロセス名で実行中のプロセスを表示します。
出力:
複数のプロセスの情報を取得する
name パラメータとして、その名前で複数のプロセスを指定できます。関連情報とともにすべてのプロセスを一覧表示します。
Get-Process NotePad, Outlook
出力:
また、プロセス名にワイルドカードを使用することもできます。
指定された属性を持つプロセスオブジェクトを取得する
必要に応じて、特定の属性のプロセスオブジェクト情報を表示できます。NotePad
プロセスのプロセス ID
のみを取得してみましょう。
(Get-Process NotePad).Id
出力:
また、次のように、NotePad
プロセスの CPU 時間属性を取得できます。
(Get-Process NotePad).CPU
出力:
プロセスオーナーを表示する
Get-Process
コマンドのデフォルト出力では、ProcessOwner
属性は表示されません。ただし、特定のプロセスを終了する必要がある場合、これは貴重な情報になる可能性があります。
-IncludeUserName
パラメーターを使用して、出力に ProcessOwner
属性を含めることができます。
Get-Process -Name notepad -IncludeUserName
出力:
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.