繁体   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