Kill processo árvore programaticamente em C #
Estou iniciando o Internet Explorer programaticamente com um código parecido com este:
ProcessStartInfo startInfo = new ProcessStartInfo("iexplore.exe");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = "http://www.google.com";
Process ieProcess = Process.Start(startInfo);
This gera 2 processos visíveis no Gerenciador de tarefas do Windows. Em seguida, tento interromper o processo com:
ieProcess.Kill();
Isso resulta em um dos processos no Gerenciador de Tarefas sendo encerrado e o outro permanece. Tentei verificar se há propriedades que teriam processos filhos, mas não encontrei nenhuma. Como posso matar o outro processo também? De maneira mais geral, como você elimina todos os processos associados a um processo iniciado com Process.Start?