Подтвердить что ты не робот

Process.Kill() vs Process.Start( "taskkill",...)

У меня есть небольшое приложение для установки С#, и я хочу убить процесс. Существуют ли какие-либо преимущества/различия при использовании

Process[] procs = Process.GetProcessesByName("[taskname]");
foreach (Process p in procs) { p.Kill(); }

против

Process.Start("taskkill", "/F /IM [taskname].exe");

Я где-то читал, что использование "taskkill" доступно только в XP (и выше), так что бы сделать Process.Kill() более безопасным вариантом?

4b9b3361

Ответ 1

Process.Kill предпочтительнее, потому что вы не запускаете другой процесс, как вы, при запуске taskkill, чтобы убить процесс. Это просто бесполезные накладные расходы.

Ответ 2

p.kill() не убивает дерево процессов.

Поэтому taskkill необходим, если вы хотите убить все дерево процессов.