gpt4 book ai didi

c++ - Windows 服务程序中退出函数的作用

转载 作者:行者123 更新时间:2023-11-30 04:40:07 24 4
gpt4 key购买 nike

我有一个 Windows 服务程序。它由 StartServiceCtrlDispatcher 函数启动。它是接受用户输入作为控制目的命令的网络服务器。现在,我希望它能够被用户关闭,即当用户键入“退出”命令时,服务将停止。 (不用担心如何重新启动服务。)我可以只使用标准库中的“exit”函数还是需要使用“ControlService”函数?

最佳答案

您应该使用 ControlService() 函数来停止服务,然后从程序流程正常返回,如果这也会导致进程退出。

ControlService Function @ MSDN

exit() 将导致进程终止,这肯定会杀死承载 1 个服务的进程。但是,这对于在托管多个服务的进程中停止服务是不可取的。此外,如果您使用 exit(),其他监视您的服务的观察者是否会收到服务停止的优雅通知是不确定的。如果您使用 exit(),您进程中可能已加载的其他操作库也可能无法正确停止。

exit, _exit @ MSDN

关于c++ - Windows 服务程序中退出函数的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1771222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com