我对 C# 很陌生,所以我的问题听起来很荒谬。我正在开发一个有时需要运行 ffmpeg 的应用程序。正如您所猜测的,当它的主机应用程序关闭时,这个 ffmpeg 进程必须被杀死。我使用这样的代码来完成这个任务:
AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnProcessExit);
private void OnProcessExit(object sender, EventArgs e)
{
proc.Kill();
}
当应用程序正确关闭时(通过它的界面或使用 Taskman - 应用程序),这可以正常工作。问题是 OnProcessExit 事件不会触发,如果程序的进程被杀死(使用 Taskman - Processes)。据我所知,在底层杀死进程和关闭程序动作是不一样的,但我想,杀死进程是对它的命令,可以用C#工具来处理。那么,在这种情况下是否可以关闭子进程?