【发布时间】:2014-05-25 06:44:58
【问题描述】:
在我对“什么是进程”的研究中,每个页面都一直在说它就像一个进程,但没有 GUI。那么为什么它需要/有一个PID?最重要的是,我看到了 2 个具有相同 PID 的服务。
服务和流程之间真正的关系是什么?
【问题讨论】:
-
This topic 和它的孩子们解释得非常清楚。
标签: windows winapi service process
在我对“什么是进程”的研究中,每个页面都一直在说它就像一个进程,但没有 GUI。那么为什么它需要/有一个PID?最重要的是,我看到了 2 个具有相同 PID 的服务。
服务和流程之间真正的关系是什么?
【问题讨论】:
标签: windows winapi service process
没有两个进程可以有相同的 PID。服务和进程之间的区别在于服务没有与之关联的用户,因此它在任何用户登录系统之前启动,因为进程通常使用用户登录令牌运行。
【讨论】:
SERVICE_WIN32_SHARE_PROCESS 标志,多个服务可以在单个进程中运行。该标志不需要使用 DLL。所需要的只是 EXE 的ServiceMain() 识别同时运行的多个服务名称的请求。这允许相关服务彼此共享内存和代码。