public virtual void Destroy() { if (!proc.HasExited) { try { proc.Kill (); } catch (InvalidOperationException) { // Already exited. Do nothing } } }