簡體   English   中英

如何釋放進程的資源

[英]how to release resources of a process

我通過使用 System.Diagonistics.Process 並傳遞兩個文件名作為參數來調用外部進程。 現在有一段時間這個進程由於異常而終止,並且進程似乎沒有釋放文件句柄。 如何釋放進程占用的資源。

是什么讓您認為文件句柄沒有被釋放? 由於您正在啟動一個位於應用程序外部的進程,因此您無法控制其他進程在異常終止時將要執行的操作。

此應用程序是 WMVAppend.exe(可與 Microsoft Media SDK 一起使用)。 即使我們重新啟動機器,它也會報告錯誤對話框並在下次運行時正常工作。 我們的流程沒有完成僅媒體附加的問題。 我還檢查了源文件,它們看起來很完美,但它們沒有完美地附加並且文件不可用。

或者進程可能根本沒有終止,但我正在使用 Process.WaitForExit() 它應該只返回進程終止。 重啟時的錯誤對話框表明這種情況是可能的。

你如何檢測文件句柄沒有被死亡進程釋放?

所有資源都應該由因任何原因終止的進程釋放。 如果不是,那么這是一個應該向 Microsoft 提交的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM