プロセスが停止するまで、次の入力を受け取るのを待ちます。

構文

Wait-Process [-Id] <Int32[]> [[-Timeout] <int>] [<CommonParameters>]

Wait-Process -InputObject <Process[]> [[-Timeout] <int>] [<CommonParameters>]

Wait-Process [-Name] <string[]> [[-Timeout] <int>] [<CommonParameters>]

説明

Wait-Process コマンドレットは、実行中の 1 つ以上のプロセスが停止するまで、入力を受け取るのを待ちます。このコマンドレットによって、プロセスが停止するまで Windows PowerShell コンソールにコマンド プロンプトが表示されません。プロセスを指定するには、プロセス名またはプロセス ID (PID) で指定するか、Wait-Process に対してプロセス オブジェクトをパイプ処理します。

Wait-Process は、ローカル コンピューターで実行されているプロセスでのみ機能します。

パラメーター

-Id <Int32[]>

プロセスのプロセス ID を指定します。複数の ID を指定するには、ID をコンマで区切ります。プロセスの PID を検索するには、「get-process」と入力します。パラメーター名 ("Id") は省略可能です。

必須

true

位置

1

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-InputObject <Process[]>

プロセス オブジェクトを送信して、プロセスを指定します。プロセス オブジェクトを格納する変数を入力するか、Get-Process コマンドなど、プロセス オブジェクトを取得するコマンドまたは式を入力します。

必須

true

位置

named

既定値

パイプライン入力を許可する

true (ByValue)

ワイルドカード文字を許可する

false

-Name <string[]>

プロセスのプロセス名を指定します。複数の名前を指定するには、名前をコンマで区切ります。

必須

true

位置

1

既定値

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-Timeout <int>

指定されたプロセスの停止を Wait-Process が待つ最大時間を秒単位で指定します。この時間が経過すると、まだ実行中のプロセスの一覧を示す未終了エラーが表示され、待機動作が終了します。

必須

false

位置

2

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

System.Diagnostics.Process

パイプを使用してプロセス オブジェクトを Wait-Process に渡すことができます。

出力

なし

このコマンドレットは出力を生成しません。

このコマンドレットは、System.Diagnostics.Process クラスの WaitForExit メソッドを使用します。このメソッドの詳細については、「Microsoft .NET Framework SDK」を参照してください。

例 1

C:\PS>$nid = (get-process notepad).id

C:\PS> stop-process -id $nid

C:\PS> wait-process -id $nid

説明
-----------
これらのコマンドは、Notepad プロセスを停止し、プロセスが停止するまで次のコマンドに進むのを待ちます。

最初のコマンドは、Get-Process コマンドレットを使用して Notepad プロセスの ID を取得します。ID は $nid 変数に保存されます。

2 番目のコマンドは、Stop-Process コマンドレットを使用して、$nid に保存された ID のプロセスを停止します。

3 番目のコマンドは、Wait-Process コマンドレットを使用して Notepad プロセスが停止するまで待ちます。Wait-Process の ID パラメーターを使用してプロセスを特定します。






例 2

C:\PS>$p = get-process notepad

C:\PS> wait-process -id $p.id

C:\PS> wait-process -name notepad

C:\PS> wait-process -inputobject $p

説明
-----------
これらのコマンドは、プロセスを Wait-Process コマンドレットに指定する 3 種類のメソッドを示します。最初のコマンドは、Notepad プロセスを取得して $p 変数に保存します。

2 番目のコマンドは ID パラメーター、3 番目のコマンドは Name パラメーター、4 番目のコマンドは InputObject パラメーターをそれぞれ使用します。

これらのコマンドの結果はすべて同じであり、置き換えて使用することもできます。






例 3

C:\PS>wait-process -name outlook, winword -timeout 30

説明
-----------
このコマンドは、Outlook と Winword の各プロセスが停止するまで 30 秒間待ちます。プロセスがいずれも停止しない場合、コマンドレットによって未終了エラーが表示され、コマンド プロンプトが表示されます。






関連項目




目次