2011-01-05 7 views
1

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

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

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

+0

какая ошибка вы получаете? попробуйте 'net stop ' и обновите код ошибки. используйте этот код ошибки, чтобы получить подробное описание проблемы с помощью команды 'net helpmsg '. –

ответ

0

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

0

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

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

Смежные вопросы