【问题标题】:Process.Kill() vs Process.Start("taskkill",...)Process.Kill() 与 Process.Start("taskkill",...)
【发布时间】:2011-05-31 15:24:35
【问题描述】:

我有一个小型 C# 安装程序应用程序,我想终止一个进程。使用有什么优点/区别

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

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

我在某处读到,使用“taskkill”仅在 XP(及更高版本)中可用,那么这会使 Process.Kill() 成为更安全的选择吗?

【问题讨论】:

    标签: c# process


    【解决方案1】:

    p.kill() 不会杀死进程树。

    所以如果你想杀死整个进程树,就需要taskkill。

    【讨论】:

      【解决方案2】:

      Process.Kill 是首选,因为当您启动 taskkill 以终止该进程时,您不会像现在这样启动另一个进程。这只是很多无用的开销。

      【讨论】:

      • Taskkill 似乎在您尝试杀死 explorer.exe 时更可靠地杀死进程。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 2013-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多