служба windows не останавливается - PullRequest
1 голос
/ 05 января 2011

У меня есть проблема, касающаяся службы Windows, которую я реализовал. Служба делает то, что должна, и регистрирует различную информацию, но когда я пытаюсь ее остановить, она, похоже, не останавливается и продолжает регистрировать.

Я не очень знаком со службами, поэтому, если кто-нибудь знает, почему это происходит, скажите, пожалуйста.

Редактировать: я протестировал сервис на двух серверах, и странно то, что на одном сервере он останавливается нормально, а на другом - нет. Вот чего я не понимаю.

Ответы [ 2 ]

0 голосов
/ 05 января 2011

Одной из возможных причин может быть оставшийся поток (как указано в 'ckv').

Вы установили правильный обработчик, используя функцию RegisterServiceCtrlHandler?Также убедитесь, что используемая вами структура SERVICE_STATUS имеет dwControlsAccepted, установленный для принятия shutdown or stop (установив SERVICE_ACCEPT_SHUTDOWN & SERVICE_ACCEPT_STOP).и не забудьте обновить статус службы (используя функцию SetServiceStatus), как только служба будет запущена и работает.

0 голосов
/ 05 января 2011

В случае, если у вас есть какие-либо потоки, убедитесь, что вы выходите из этих потоков в своей процедуре остановки. Некоторые потоки все еще могут задерживаться, поэтому не прекращаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...