public static bool TryGetProcessInfo(string command, out ProcessCommand process) { Guard.AgainstNullOrEmpty(command, nameof(command)); if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { command = TrimCommand(command); } process = commands.SingleOrDefault(x => x.Command == command); return(!process.Equals(default(ProcessCommand))); }
static void TerminalProcessIfExists(ProcessCommand processCommand) { var processId = (int)processCommand.Process; using var processHandle = OpenProcess(4097, false, processId); if (processHandle.IsInvalid) { return; } TerminateProcess(processHandle, -1); }