我想知道如何使用 c# 停止挂起服务,就像我在 cmd中所做的那样using sc queryex servicename
来获取 pid 并终止taskkill /pid pidnumber /f
挂起服务......
我已经阅读了使用 taskkill 停止 Windows 服务,但这并没有给我一个解决方案。
我想要这样的东西:
Process.GetProcessesByName("aServiceName").Kill();
哪个不起作用...
使用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