【问题标题】:What permissions are needed for Process.Kill()?Process.Kill() 需要什么权限?
【发布时间】:2012-09-06 16:18:49
【问题描述】:

我是否认为如果一个程序以用户身份运行,并且该程序试图杀死由同一用户启动的另一个进程,这会成功吗?并且用户需要在管理员组中才能杀死任何其他进程(包括 SYSTEM 等)?

我错过了什么吗?我错了吗?

【问题讨论】:

  • 很好的询问,但您是否测试过您的假设?通常,stackoverflow 是为了帮助您解决靠自己无法解决的问题。为什么不先自己尝试一下?
  • 杀戮需要许可证:)
  • 某些进程可能需要 SE_DEBUG_PRIVILEGE。
  • 何不试试看呢?
  • 如果你试图杀死自己的进程会怎样?

标签: c# .net windows permissions


【解决方案1】:

这些文章Permissions for Process.Kill()Tip 13 : Kill a process using C#, from local to remote 肯定会有助于测试您的假设。

** 编辑 **

这些文章中的主要信息如下(以防链接失效):

using System.Management;
using System.Management.Instrumentation;

ManagementScope scope = new ManagementScope("\\\\RemoteMachineName\\root\\cimv2");
scope.Connect();

ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_Process WHERE Name='ProcessName'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);

ManagementObjectCollection objectCollection = searcher.Get();
foreach(ManagementObject managementObject in objectCollection)
{
   managementObject.InvokeMethod("Terminate", null);
}

【讨论】:

    猜你喜欢
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多