プロセスが停止するまで、次の入力を受け取るのを待ちます。
構文
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 秒間待ちます。プロセスがいずれも停止しない場合、コマンドレットによって未終了エラーが表示され、コマンド プロンプトが表示されます。
関連項目