public static void KillProcess(int pid)
{
var searcher =
new ManagementObjectSearcher("Select * From Win32_Process Where ParentProcessID=" + pid);
var moc = searcher.Get();
foreach (var o in moc)
{
var mo = (ManagementObject)o;
KillProcess(Convert.ToInt32(mo["ProcessID"]));
}
try
{
var proc = Process.GetProcessById(Convert.ToInt32(pid));
proc.Kill();
}
catch (Exception ex)
{
Logger.Log(ex.ToString());
}
}