名稱 | 說明 |
---|---|
Process.WaitForExit () | 指示 Process 元件無限期等候相關處理序的結束。 受 .NET Compact Framework 支援。 |
Process.WaitForExit (Int32) | 指示 Process 元件等候指定毫秒數,讓相關的處理序結束。 受 .NET Compact Framework 支援。 |
WaitForExit 用來使目前執行緒等候直到相關的處理序終止。
WaitForExit 的這個多載會指示 Process 元件等候一段時間,讓處理序結束。如果相關的處理序因為終止要求被拒絕,而沒有在間隔結束前結束,會傳回 false 至呼叫的程序。您可以為 milliseconds 指定負數,但是 WaitForExit 會將它視為非常大的正數。如果傳遞零給方法,它只會在處理序已經結束的情況下傳回 true。
當相關的處理序結束 (被作業系統正常或異常終止關閉時),系統會將處理序的管理資訊儲存起來,並傳回至呼叫 WaitForExit 的元件。Process 元件便可以利用結束的處理序的 Handle,存取包含 ExitTime 在內的資訊。
因為相關的處理序已經結束,元件的 Handle 屬性不再指向現有的處理序資源。而控制代碼只能用來存取有關處理序資源的作業系統資訊。系統會察覺尚未被 Process 元件釋放之結束的處理序的控制代碼,所以會將 ExitTime 和 Handle 資訊保留在記憶體中,直到 Process 元件明確的釋放資源為止。因此,每次要為 Process 執行個體呼叫 Start 時,都要在相關的處理序已經終止,且您不再需要有關它的任何管理資訊時,才呼叫 Close。Close 會釋放配置給已經結束的處理序的記憶體。
沒有留言:
張貼留言