我找不到任何明确的答案来说明两者之间的区别:
- 通过停止操作停止服务
和
- 杀死一个进程使其停止?
杀死一个进程比停止服务快,但不知道会不会产生一些问题?
我找不到任何明确的答案来说明两者之间的区别:
和
杀死一个进程比停止服务快,但不知道会不会产生一些问题?
你想自然地睡觉,还是宁愿有人打你的脸把你打晕?:)
停止服务允许它以有意义的方式关闭,可能会写一些日志条目并做各种事情。
杀死一个进程不允许这样做。布拉姆,你死了。算不上优雅。
进程和服务之间的关系不保证是 1:1。也就是说,存在托管多个服务的进程——最突出svchost.exe
的是,它不仅作为多个实例存在,而且每个实例都托管多个服务。
虽然svchost.exe
是 Windows 的一个组件,但第三方供应商提供的服务也是如此。例如,在 .NET 中,您可以看到ServiceBase.Run()方法甚至接受多个ServiceBase
实例(即服务实现)来启动。
因此,如果您终止托管服务的进程,您可能会终止更多的服务,而不仅仅是您想到的服务。当心。