如何释放进程的资源

时间:2008-10-16 23:08:41

标签: c# .net-3.5 process

我使用System.Diagonistics.Process调用外部进程并将两个文件名作为参数传递。现在有一段时间此过程由于异常而终止,并且似乎文件句柄未被进程释放。如何释放流程占用的资源。

3 个答案:

答案 0 :(得分:1)

是什么让你认为文件句柄没有被释放?由于您正在启动应用程序外部的进程,因此在异常终止时,您无法控制其他进程将要执行的操作。

答案 1 :(得分:1)

此应用程序是WMVAppend.exe(可与Microsoft Media SDK一起使用)。即使我们重新启动机器,它也会报告错误对话框并在下次运行时正常工作。只有媒体追加的问题不是由我们的流程完成的。我还检查了源文件,它们看起来很完美,但它们没有完美地附加,文件也无法使用。

或者可能根本没有终止进程,但我使用的是Process.WaitForExit(),它应该只返回进程终止。重新启动时的错误对话框表明我可能会遇到这种情况。

答案 2 :(得分:0)

你是如何检测死亡过程没有释放文件句柄的?

所有资源都应该由因任何原因而死亡的进程释放。如果不是,则应该向Microsoft提交错误。