私は外部実行可能ファイル(私の場合はffmpeg)を呼び出す小さな部分に取り組んできました。次に、テストを作成し、デバッグモードでテストランナーを使用しました。デバッグを停止(終了)しても、ffmpegが実行されます。ファイナライザーでプロセスを強制終了しようとしましたが、IDisposableを使用しました-それでも実行されます。プロセスがそのように残されないようにするにはどうすればよいですか。呼び出し元が死亡したり、失敗したり、何らかの方法で停止したりした場合、ffmpeg実行可能ファイルは強制終了されます。
私はいつものようにプロセスを実行します(特別なことは何もありません)
var processInfo = new ProcessStartInfo(ffmpegPath)
{
UseShellExecute = false,
Arguments = arguments,
RedirectStandardOutput = true,
RedirectStandardError = true,
CreateNoWindow = true,
};
using (var ffmpegProc = new Process())
{
ffmpegProc.EnableRaisingEvents = true;
ffmpegProc.StartInfo = processInfo;
ffmpegProc.Start();
ffmpegProc.WaitForExit();
}