Служба Windows - Windows service

В Windows NT операционные системы, Служба Windows это компьютерная программа который работает в фоновом режиме.[1] По концепции он похож на Unix демон.[1] Служба Windows должна соответствовать правилам интерфейса и протоколам Менеджер по управлению услугами, компонент, отвечающий за управление службами Windows. Это приложение Services and Controller, services.exe, которое запускает все службы и управляет их действиями, такими как начало, конец и т. Д.[2]

Службы Windows можно настроить для запуска при запуске операционной системы и работы в фоновом режиме, пока работает Windows. Кроме того, они могут быть запущены вручную или по событию. Операционные системы Windows NT включают многочисленные услуги которые работают в контексте трех учетные записи пользователей: Система, сетевая служба и локальная служба. Эти компоненты Windows часто связаны с Хост-процесс для служб Windows. Поскольку службы Windows работают в контексте своих собственных выделенных учетных записей пользователей, они могут работать, когда пользователь не вошел в систему.

До Виндоус виста, службы, установленные как "интерактивные службы", могут взаимодействовать с Windows рабочий стол и показать графический интерфейс пользователя. Однако в Windows Vista интерактивные службы не рекомендуются и могут работать неправильно из-за Повышение безопасности службы Windows.[3][4]

Администрация

Администраторы Windows могут управлять службами с помощью:

Оснастка служб

Оснастка служб, построенная на Консоль управления Microsoft, может подключаться к локальному компьютеру или удаленному компьютеру в сети, что позволяет пользователям:[1]

  • просмотреть список установленных служб вместе с названием службы, описанием и конфигурацией
  • запускать, останавливать, приостанавливать или перезапускать службы[5]
  • укажите параметры услуги, если применимо
  • изменить тип запуска. Допустимые типы запуска включают:
    • Автоматический: Служба запускается при входе в систему.
    • Автоматически (с задержкой): Служба запускается через короткое время после завершения запуска системы. Эта опция была введена в Виндоус виста в попытке сократить время загрузки на рабочий стол. Однако не все сервисы поддерживают отложенный запуск.[6]
    • Руководство: Служба запускается только при явном вызове.
    • Неполноценный: Служба отключена. Он не будет работать.
  • изменить учетная запись пользователя контекст, в котором работает служба
  • настроить действия по восстановлению, которые следует предпринять в случае сбоя службы
  • проверять зависимости служб, обнаруживая, какие службы или драйверы устройств зависят от данной службы или от каких служб или драйверов устройств зависит данная служба
  • экспортировать список услуг как текстовый файл или как CSV файл

Командная строка

sc
Разработчики)Microsoft, Авторы ReactOS
Операционная системаWindows, ReactOS
ТипКоманда
ЛицензияWindows: Проприетарный коммерческое программное обеспечение
ReactOS: Стандартная общественная лицензия GNU
Интернет сайтдокументы.microsoft.com/ en-us/предыдущие версии/ окна/ it-pro/ windows-server-2012-R2-и-2012/ cc754599 (v% 3dws.11)

В командная строка Инструмент для управления службами Windows - sc.exe. Доступно для всех версий Windows NT.[7] Эта утилита входит в Windows XP[8] и позже[9] а также в ReactOS.

В sc область управления командой ограничена локальным компьютером. Однако начиная с Windows Server 2003, не только может sc делают все, что делает оснастка «Службы», но также может устанавливать и удалять службы.[9]

В sc команда дублирует некоторые функции сеть команда.[10]

Версия ReactOS была разработана Гедом Мерфи и находится под лицензией GPL.[11]

подкоманды sc
ИмяОписаниеПоддержка WindowsПоддержка ReactOSЗамечания
запросПоказать статус услугидада
queryexПоказать расширенную служебную информацию (например, pid, флаги)дада
НачнитеЗапустить сервисдада
ПаузаПриостановить службудада
допроситьдада
ПродолжитьПродолжить обслуживаниедада
остановкаОстановить службудада
configдада
описаниеИзменить описание услугидада
отказдада
флаг отказадаНет
sidtypeдаНет
привилегиидаНет
управляемый счетдаНет
qcПоказать конфигурацию службы (например, зависимости, полный путь и т. Д.)дада
qописаниеЗапросить описание услугидада
qfailureдаНет
qfailureflagдаНет
qsidtypeдаНет
qprivsдаНет
qtriggerinfoдаНет
qpreferrednodeдаНет
qmanagedaccountдаНет
qзащитадаНет
QuserserviceдаНет
УдалитьУдалить услугудада
СоздайтеСоздать сервисдада
контрольдада
sdshowдада
sdsetдада
ShowidдаНет
triggerinfoдаНет
предпочтительный узелдаНет
GetDisplayNameПоказать службу DisplayNameдада
GetKeyNameПоказать сервис ServiceKeyNameдада
EnumDependПоказать зависимости сервисадада
ботинокдаНет
ЗамокдаНет
QueryLockдаНет

Примеры

В следующем примере перечисляется статус активных служб и драйверов.[12]

C:>sc запрос

В следующем примере отображается состояние Журнал событий Windows служба.[12]

C:>журнал событий запроса sc

PowerShell

Модуль Microsoft.PowerShell.Management PowerShell (входит в состав Windows) имеет несколько командлетов, которые можно использовать для управления службами Windows:

  • Get-Сервис[13]
  • New-Service[14]
  • Рестарт-Сервис[15]
  • Резюме-Сервис[16]
  • Сет-Сервис[17]
  • Старт-Сервис[18]
  • Стоп-Сервис[19]
  • Приостановить-Сервис[20]

Другие инструменты управления

Windows также включает в себя компоненты, которые могут выполнять часть функций оснастки, Sc.exe и PowerShell. В сеть Команда может запускать, останавливать, приостанавливать или возобновлять работу службы Windows.[21] В Windows Vista и более поздних версиях Диспетчер задач Windows может показать список установленных служб и запустить или остановить их. MSConfig может включать или отключать (см. описание типа запуска выше) службы Windows.

Установка

Службы Windows устанавливаются и удаляются через установочные скрипты * .INF SetupAPI; установленную службу можно запустить сразу после ее установки, а работающую службу можно остановить перед ее деинсталляцией.[22][23][24]

Разработка

Написание собственных сервисов

Служба Windows создается с использованием инструментов разработки, таких как Microsoft Visual Studio или же Embarcadero Delphi. Чтобы быть службой Windows, программа должна быть написана таким образом, чтобы она могла обрабатывать сообщения запуска, остановки и приостановки из диспетчера управления службами. Менеджер по управлению услугами это компонент Windows, который отвечает за запуск и остановку служб.

Упаковка приложений как услуги

В Пакет ресурсов Windows за Windows NT 3.51, Windows NT 4.0 и Windows 2000 предоставляет инструменты для контроля использования и регистрации услуг: SrvAny.exe действует как оболочка службы для обработки интерфейса, ожидаемого от службы (например, обработки service_start и ответа через некоторое время с помощью service_started или service_failed) и разрешения любого исполняемого файла или сценария быть настроенным как служба. Sc.exe позволяет устанавливать, запускать, останавливать и удалять новые службы.[25]

Смотрите также

Службы Windows
Концепция

Рекомендации

  1. ^ а б c «Обзор услуг». TechNet. Microsoft. Получено 29 марта 2013.
  2. ^ "Услуги". Сеть разработчиков Microsoft. Microsoft. Получено 29 марта 2013.
  3. ^ «New Elevation PowerToys для Windows Vista». Журнал TechNet. Microsoft. Июнь 2008 г.. Получено 21 июн 2013. Служба CmdAsSystem настроена как интерактивная, поддержка которой прекращается. Служба может работать некорректно. Проблема в том, что этот сценарий пытается создать и запустить интерактивную службу. Интерактивные службы не будут работать правильно из-за изоляции сеанса 0 в Windows Vista.
  4. ^ «Сервисы в Windows». MSDN. Microsoft. 18 октября 2010 г.. Получено 21 июн 2013.
  5. ^ «Запустить, остановить, приостановить, возобновить или перезапустить службу». TechNet. Microsoft. Получено 29 марта 2013.
  6. ^ "Свойство ServiceInstaller.DelayedAutoStart (System.ServiceProcess)". Microsoft. Получено 28 ноября 2017См. Раздел "Примечания"
  7. ^ «Как создать службу Windows с помощью Sc.exe». Поддерживать. Microsoft. 11 сентября 2011 г.. Получено 29 марта 2013.
  8. ^ "Справочник командной строки A – Z: SC". TechNet. Microsoft. Получено 8 января 2014.
  9. ^ а б «Справочник по командной строке: Sc». TechNet. Microsoft. Получено 8 января 2014. Windows 7, Windows 8, Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 с пакетом обновления 1, Windows Server 2003 с пакетом обновления 2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Vista
  10. ^ SC - Управление службами - Windows CMD - SS64.com
  11. ^ reactos / sc.c на главном сервере · reactos / reactos · GitHub
  12. ^ а б Команда sc из командной строки MS-DOS и Windows
  13. ^ «Гет-Сервис». TechNet. Microsoft. Получено 29 марта 2013.
  14. ^ «Нью-Сервис». TechNet. Microsoft. Получено 29 марта 2013.
  15. ^ «Рестарт-Сервис». TechNet. Microsoft. Получено 29 марта 2013.
  16. ^ "Резюме-Сервис". TechNet. Microsoft. Получено 29 марта 2013.
  17. ^ «Сет-Сервис». TechNet. Microsoft. Получено 29 марта 2013.
  18. ^ «Старт-Сервис». TechNet. Microsoft. Получено 29 марта 2013.
  19. ^ «Стоп-Сервис». TechNet. Microsoft. Получено 29 марта 2013.
  20. ^ «Suspend-Service». TechNet. Microsoft. Получено 29 марта 2013.
  21. ^ «Запустить, остановить, приостановить, возобновить или перезапустить службу». TechNet. Microsoft. Получено 8 января 2014.
  22. ^ "Директива INF AddService". Microsoft. Получено 10 июля 2017.
  23. ^ "Функция SetupInstallServicesFromInfSection". MSDN. Microsoft. Получено 10 июля 2017.
  24. ^ "Функция SetupInstallServicesFromInfSectionEx". MSDN. Microsoft. Получено 10 июля 2017.
  25. ^ «Как создать определяемую пользователем службу». Поддерживать. Microsoft. Получено 29 марта 2013.

дальнейшее чтение

внешняя ссылка