我找不到任何明确的答案:
和
杀死进程比停止服务更快,但我不知道它是否会造成一些问题?
答案 0 :(得分:6)
你想自然地去睡觉吗?或者你宁愿有人打你的脸并把你打倒? :)
停止服务允许它以有意义的方式关闭,也许写一些日志条目并做各种事情。
杀死进程不允许任何此类进程。 Blam,你死了。很优雅。
答案 1 :(得分:1)
流程与服务之间的关系不保证为1:1。也就是说,有些进程托管多个服务 - 最突出的是svchost.exe
,它不仅作为多个实例存在,而且每个实例都承载多个服务。
虽然svchost.exe
是Windows的一个组件,但第三方供应商提供的服务也是如此。例如,在.NET中,您可以看到ServiceBase.Run()方法甚至接受多个ServiceBase
实例(即服务实现)来启动。
因此,如果您终止托管服务的进程,您可以终止更多的服务而不仅仅是您想到的服务。小心。