我有一个关于我已经实现的Windows服务的问题。该服务可以执行它所拥有的功能并记录各种信息,但是当我尝试停止它时,它似乎不会停止并继续记录。
我对服务不太熟悉,所以如果有人知道为什么会这样,请告诉我。
编辑:我已经在两台服务器上测试了这项服务,奇怪的是,它在一台服务器上正常停止,但在另一台服务器上却没有。这是我不明白的。
答案 0 :(得分:0)
如果您有任何线程,请确保退出停止例程中的这些线程。有些线程可能仍然挥之不去,这就是为什么它不会停止。
答案 1 :(得分:0)
一个可能的原因可能是因为一些剩余的线程(如'ckv'所述)。
您是否使用RegisterServiceCtrlHandler
功能设置了正确的处理程序?
另外,请确保您使用的SERVICE_STATUS
结构的dwControlsAccepted
设置为接受shutdown or stop
(通过设置SERVICE_ACCEPT_SHUTDOWN & SERVICE_ACCEPT_STOP
)。并且不要忘记在服务启动并运行后更新服务状态(使用SetServiceStatus
功能)。