【发布时间】:2015-03-12 05:45:09
【问题描述】:
我正在尝试杀死一个服务进程,如果它在尝试通过 ServiceController 停止它时卡住了。我有这个服务的 Process 对象;但是,当我在其上调用 Kill() 方法时,什么也没有发生。没有异常,进程仍在运行。
那么,我怎样才能杀死这个进程呢?
【问题讨论】:
-
我认为您需要提供一些代码。显然这里发生的事情比你所描述的要多。
-
@Mick,不。没有更多的事情发生。 PS每次我问任何不太容易回答的问题,我都必须花很多时间证明我不是白痴。干得好,所以。
-
好吧,这不是你是个白痴的问题,你已经为我们提供了对你认为正在发生的事情的解释,很有可能这是一个误解,因此你一直在无法解决。
-
如果 TerminateProcess() 也不起作用,最可能的问题是您忘记启用调试权限和/或在调用 OpenProcess() 时没有请求 PROCESS_TERMINATE 访问权限。无论哪种方式,来自 TerminateProcess() 的错误代码都是 5,拒绝访问。 (如果错误代码是别的东西,那就是另一个问题了。但我们没有希望在至少不知道错误代码是什么的情况下识别它。)