我想知道如何使用c#停止挂起服务,就像我在cmd using sc queryex servicename
中执行以获取pid而taskkill /pid pidnumber /f
停止挂起服务...
我已阅读Stopping windows service with taskkill,但这并没有给我一个解决方案。
我想要这样的事情:
Process.GetProcessesByName("aServiceName").Kill();
哪个没有工作......
答案 0 :(得分:0)
使用 PsKill 。它是由sysinternals生成的exec实用程序。 您可以在命令行模式下以及在编程模式下使用它。 我想以编程方式执行此操作,我建议创建一个实用程序类,该实用程序类具有获取服务ID的方法,创建进程,使用C#中的 Process 类,将进程附加到 pskill.exe ,将参数传递给pskill并使用start方法执行该过程。这是一个示例:
public static void KillProcess(int _servicePid)
{
System.Diagnostics.Process.Start("C:\pstools\pskill.exe", _servicePid);
}
PsKill下载链接:http://technet.microsoft.com/en-us/sysinternals/bb896683.aspx