1

System.Diagonistics.Process を使用し、2 つのファイル名をパラメーターとして渡すことで、外部プロセスを呼び出しています。例外が原因でこのプロセスが終了することがありますが、ファイルハンドルがプロセスによって解放されていないようです。プロセスが占有しているリソースを解放するにはどうすればよいですか。

4

3 に答える 3

1

ファイルハンドルがリリースされていないと思われる理由は何ですか?アプリケーションの外部にあるプロセスを開始しているため、異常終了したときに他のプロセスが実行することをあまり制御できません。

于 2008-10-16T23:34:36.613 に答える
1

このアプリケーションは、WMVAppend.exe (Microsoft Media SDK で利用可能) です。マシンを再起動しても、エラー ダイアログが表示され、次回の実行では問題なく動作します。私たちのプロセスでは行われていないメディアの追加のみの問題。ソースファイルも確認しましたが、完璧に見えますが、完全に追加されておらず、ファイルを使用できません。

または、プロセスがまったく終了していない可能性がありますが、プロセスが終了しただけを返す Process.WaitForExit() を使用しています。再起動時のエラー ダイアログは、このケースが考えられることを示唆しています。

于 2008-10-17T10:48:01.010 に答える
0

死にかけているプロセスによってファイルハンドルが解放されていないことをどのように検出していますか?

すべてのリソースは、何らかの理由で停止するプロセスによって解放される必要があります。そうでない場合は、Microsoftに提出する必要があるバグです。

于 2008-10-16T23:25:19.407 に答える