我通过使用System.Diagonistics.Process并传递两个文件名作为参数来调用外部进程。现在有一段时间这个进程因异常而终止,看起来文件句柄不会被进程释放。我怎样才能释放进程占用的资源?如何释放进程的资源
1
A
回答
0
你如何检测文件句柄没有被死亡过程释放?
所有资源都应该由一个进程释放,因为任何原因死亡。如果他们不是,那么这是一个应该提交给微软的错误。
1
什么让你觉得文件句柄没有被释放?由于您正在启动一个在您的应用程序外部的进程,因此您无法控制其他进程在异常终止时将执行的操作。
1
此应用程序是WMVAppend.exe(与Microsoft Media SDK一起提供)。即使我们重新启动机器,它也会报告错误对话并在下次运行中正常工作。只有媒体追加这个问题不是我们的流程完成的。我也检查了源文件,它们看起来很完美,但它们没有完美附加,并且文件无法使用。
或者它可能是可能的进程没有终止,但我使用Process.WaitForExit()应该只返回进程被终止。重新启动时的错误对话框表明我可能会遇到这种情况。
相关问题
- 1. 在进程终止时释放资源
- 2. 如何释放资源?
- 3. IDE如何释放资源?
- 4. 如何释放进程的所有资源?
- 5. SFML释放资源
- 6. Php资源释放
- 7. 如何释放HttpPostedFileBase使用的资源?
- 8. 如何释放Spring bean中的资源?
- 9. 释放应用程序中的资源?
- 10. 释放OpenSSL的资源:SSL_CTX_free
- 11. 如何防止NSWindow释放资源?
- 12. 如何强制释放资源?
- 13. 如何正确释放GDI资源?
- 14. 是否从线程释放资源?
- 15. 从线程中释放资源
- 16. 释放应用程序资源
- 17. 当线程释放其资源
- 18. 关机时释放资源
- 19. Java文件释放资源
- 20. 当Android资源被释放?
- 21. PHP/DOMDocument:unset()不释放资源
- 22. Log4Net不释放资源
- 23. AVAudioUnitSampler未释放资源
- 24. 在C#中释放资源
- 25. ActiveXObject - Excel.Application不释放资源
- 26. Android:应用程序终止时如何释放资源?
- 27. 如何捕捉程序关闭以释放资源?
- 28. 如何在spaw过程后释放资源?
- 29. 如何在iPhone应用程序中释放这些资源?
- 30. JNI:我应该何时释放资源?
微软的bug是怎么回事? OP正在启动他的应用程序的外部进程,然后随后终止异常。如果该进程打开了文件句柄,那么进程就有责任正确关闭它们。 – 2008-10-16 23:32:54
操作系统负责关闭进程终止时保持打开的任何句柄。 – 2008-10-17 03:10:58