この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

Process.WaitForExit メソッド (Int32)

 

公開日: 2016年11月

関連付けられたプロセスが終了するまで、最大で指定したミリ秒間待機するように Process コンポーネントに指示します。

名前空間:   System.Diagnostics
アセンブリ:  System (System.dll 内)

public bool WaitForExit(
	int milliseconds
)

パラメーター

milliseconds
Type: System.Int32

関連付けられたプロセスが終了するまで待機する時間。単位はミリ秒です。 最大値は、32 ビット整数で表現できる最大値で、オペレーティング システムに対して無限大で表現される値です。

戻り値

Type: System.Boolean

関連付けられたプロセスが終了した場合は true。それ以外の場合は false

Exception Condition
Win32Exception

待機の設定にアクセスできませんでした。

SystemException

プロセス Id が設定されておらず、Id プロパティを判別する元となる Handle が存在しません。

-または-

この Process オブジェクトに関連付けられているプロセスはありません。

-または-

リモート コンピューターで実行されているプロセスの WaitForExit(Int32) を呼び出そうとしています。 このメソッドはローカル コンピューターで実行中のプロセスに対してのみ使用可能です。

WaitForExit(Int32) makes the current thread wait until the associated process terminates. It should be called after all other methods are called on the process. To avoid blocking the current thread, use the Exited event.

This method instructs the T:System.Diagnostics.Process component to wait a finite amount of time for the process to exit. If the associated process does not exit by the end of the interval because the request to terminate is denied, false is returned to the calling procedure. You can specify a negative number (F:System.Threading.Timeout.Infinite) for milliseconds, and M:System.Diagnostics.Process.WaitForExit(System.Int32) will behave the same as the M:System.Diagnostics.Process.WaitForExit overload. If you pass 0 (zero) to the method, it returns true only if the process has already exited; otherwise, it immediately returns false.

System_CAPS_noteメモ

In the net_v35_long and earlier versions, if milliseconds was -1, the M:System.Diagnostics.Process.WaitForExit(System.Int32) overload waited for F:System.Int32.MaxValue milliseconds (approximately 24 days), not indefinitely.

When standard output has been redirected to asynchronous event handlers, it is possible that output processing will not have completed when this method returns. To ensure that asynchronous event handling has been completed, call the M:System.Diagnostics.Process.WaitForExit overload that takes no parameter after receiving a true from this overload. To help ensure that the E:System.Diagnostics.Process.Exited event is handled correctly in Windows Forms applications, set the P:System.Diagnostics.Process.SynchronizingObject property.

When an associated process exits (is shut down by the operating system through a normal or abnormal termination), the system stores administrative information about the process and returns to the component that had called M:System.Diagnostics.Process.WaitForExit(System.Int32). The T:System.Diagnostics.Process component can then access the information, which includes the P:System.Diagnostics.Process.ExitTime, by using the P:System.Diagnostics.Process.Handle to the exited process.

Because the associated process has exited, the P:System.Diagnostics.Process.Handle property of the component no longer points to an existing process resource. Instead, the handle can be used only to access the operating system's information about the process resource. The system is aware of handles to exited processes that have not been released by T:System.Diagnostics.Process components, so it keeps the P:System.Diagnostics.Process.ExitTime and P:System.Diagnostics.Process.Handle information in memory until the T:System.Diagnostics.Process component specifically frees the resources. For this reason, any time you call M:System.Diagnostics.Process.Start for a T:System.Diagnostics.Process instance, call M:System.Diagnostics.Process.Close when the associated process has terminated and you no longer need any administrative information about it. M:System.Diagnostics.Process.Close frees the memory allocated to the exited process.

See the code example for the P:System.Diagnostics.Process.ExitCode property.

LinkDemand

for full trust for the immediate caller. This member cannot be used by partially trusted code.

.NET Framework
1.1 以降で使用可能
トップに戻る
表示: