Подтвердить что ты не робот

Остановка службы Windows, когда опция остановки выделена серым цветом

Я создал службу Windows и в сервисе в панели управления → инструменты администрирования → службы, ее статус запускается.

Я хочу остановить эту службу, но опция остановки недоступна. Как я могу запустить/остановить службу?

Каждый раз, когда я перезапускаю, он останавливается, и я могу его удалить.

4b9b3361

Ответ 1

Если вы запустите команду:

sc queryex <service name>

где имя службы, а не отображаемое имя (спулер, а не диспетчер очереди печати), в командной строке cmd он возвращает PID процесса, в котором работает служба. Возьмите этот PID и запустите

taskkill /F /PID <Service PID>

чтобы остановить PID. Иногда, если процесс зависает при остановке, GUI не позволит вам ничего делать с сервисом.

Ответ 2

Вы можете сделать это в одной строке (полезно для ci-сред):

taskkill /fi "Services eq SERVICE_NAME" /F

Фильтр → Службы → ServiceName равно SERVICE_NAMES → Force

Источник: https://technet.microsoft.com/en-us/library/bb491009.aspx

Ответ 3

Если опция остановки выделена серым цветом, ваша служба не указала, что она принимала SERVICE_ACCEPT_STOP, когда она в последний раз называлась SetServiceStatus. Если вы используете .NET, вам нужно установить свойство CanStop в ServiceBase.

Конечно, если вы принимаете стоп-запросы, то вам лучше убедиться, что ваш сервис может безопасно обрабатывать эти запросы, особенно если ваша служба все еще продолжает работать с кодом запуска.

Ответ 4

Используйте диспетчер задач, чтобы найти Сервис и убить его там, используя Завершить задачу. Всегда делаю трюк для меня.

Если вы сами сделали сервис, подумайте об удалении длинных операций из события OnStart, как правило, это то, что заставляет Сервис не реагировать.

Ответ 5

Как упоминалось ранее в Aaron, некоторые службы не принимают сообщения SERVICE_ACCEPT_STOP к моменту его разработки. И это жестко закодировано в исполняемом файле. Период. Workaroud не должен был запускаться, и поскольку вы не можете изменить его свойства, принудительно выполните следующее:

  • Загрузка в безопасный режим (пользователям Windows 10 может понадобиться msconfig > boot > безопасная загрузка)
  • Regedit в HKLM > Системa > ControlSet001 > Сервисы
  • Найдите свою служебную запись
  • Измените ключ "Пуск" на 3 (ручной запуск) или 4 (отключено)

Если вы не можете изменить запись, щелкните правой кнопкой мыши имя своей службы на левой панели, выберите "Разрешения", убедитесь, что "Все" имеют полный доступ и снова попробуйте выполнить шаг 4.

Не забудьте снова отключить безопасную загрузку с msconfig и перезагрузитесь!

Ответ 6

Откройте командную строку с доступом администратора и введите там следующие команды.

a)

tasklist

отображает список всех доступных сервисов. Там вы можете увидеть службу, которую вы хотите остановить/запустить/перезапустить. Помните значение PID службы, которую вы хотите принудительно остановить.

b) Теперь введите

taskkill /f /PID [PID value of the service] 

и нажмите enter. По поводу успеха вы получите сообщение "УСПЕХ: Процесс с PID был завершен".

Ex : taskkill /f /PID 5088

Это приведет к принудительному уничтожению замороженной службы. Теперь вы можете вернуться к диспетчеру сервера и перезапустить службу.

Ответ 7

sc queryex <service name>
taskkill /F /PID <Service PID>

например

enter image description here

eg

Ответ 8

У меня была та же проблема. Если вы не являетесь администратором на компьютере, вам нужно запустить службы как администратор.

Ответ 9

Я решил проблему со следующими шагами:

  • Откройте "services.msc" из команды /Windows RUN.

  • Найдите службу (которая выделена серым цветом).

  • Дважды щелкните эту службу и перейдите на вкладку "Восстановление".

  • Убедитесь, что

    • Первое действие сбоя выбрано как "Не предпринимать никаких действий" .
    • Действие второй неудачи выбрано как "Не предпринимать никаких действий" .
    • Последующее действие сбоев выбрано как "Не предпринимать никаких действий" .

    и нажмите OK.

Теперь служба не будет пытаться перезагрузиться, и вы сможете удалить серую службу из списка служб (т.е. greyed out will go).