private void killProcessIfItStillExists(int pid)
{
if (Process.GetProcesses()
.Where(p => p.Id == pid)
.Any())
{
try
{
var p = Process.GetProcessById(pid);
if (!p.HasExited)
{
p.Kill();
Thread.Sleep(100);
}
}
catch (ArgumentException)
{
//ignore
}
}
}