В операционных системах Windows NT служба Windows - это компьютерная программа , работающая в фоновом режиме . [1] По концепции он похож на демона Unix . [1] Служба Windows должна соответствовать правилам интерфейса и протоколам диспетчера управления службами , компонента, отвечающего за управление службами Windows. Это приложение «Службы и контроллер», services.exe, которое запускает все службы и управляет их действиями, такими как начало, конец и т. Д. [2]
Службы Windows можно настроить для запуска при запуске операционной системы и работы в фоновом режиме, пока работает Windows. Кроме того, они могут быть запущены вручную или по событию. Операционные системы Windows NT включают в себя многочисленные службы, которые запускаются в контексте трех учетных записей пользователей : система, сетевая служба и локальная служба. Эти компоненты Windows часто связаны с хост-процессом для служб Windows . Поскольку службы Windows работают в контексте своих собственных выделенных учетных записей пользователей, они могут работать, когда пользователь не вошел в систему.
До Windows Vista службы, установленные как «интерактивные службы», могли взаимодействовать с рабочим столом Windows и отображать графический пользовательский интерфейс . Однако в Windows Vista интерактивные службы не рекомендуются и могут работать некорректно из- за усиления защиты служб Windows . [3] [4]
Администрация
Администраторы Windows могут управлять службами с помощью:
- Оснастка «Службы» (находится в разделе « Администрирование» на панели управления Windows ).
- Sc.exe
- Windows PowerShell
Оснастка служб
Оснастка «Службы», основанная на консоли управления Microsoft , может подключаться к локальному или удаленному компьютеру в сети, что позволяет пользователям: [1]
- просмотреть список установленных служб вместе с названием службы, описанием и конфигурацией
- запускать, останавливать, приостанавливать или перезапускать службы [5]
- укажите параметры услуги, если применимо
- изменить тип запуска. Допустимые типы запуска включают:
- Автоматически : служба запускается при входе в систему.
- Автоматически (с задержкой) : служба запускается через короткое время после завершения запуска системы. Эта опция была введена в Windows Vista с целью сократить время загрузки на рабочий стол. Однако не все сервисы поддерживают отложенный запуск. [6]
- Вручную : служба запускается только при явном вызове.
- Отключено : служба отключена. Он не будет работать.
- изменить контекст учетной записи пользователя, в котором работает служба
- настроить действия по восстановлению, которые следует предпринять в случае сбоя службы
- проверять зависимости служб, обнаруживая, какие службы или драйверы устройств зависят от данной службы или от каких служб или драйверов устройств зависит данная служба
- экспортировать список услуг как текстовый файл или как файл CSV
Командная строка
Разработчики) | Microsoft , участники ReactOS |
---|---|
Операционная система | Windows , ReactOS |
Тип | Командование |
Лицензия | Windows: проприетарное коммерческое программное обеспечение ReactOS: стандартная общественная лицензия GNU |
Веб-сайт | docs |
Инструмент командной строки для управления службами Windows - sc.exe. Он доступен для всех версий Windows NT . [7] Эта утилита входит в состав Windows XP [8] и более поздних версий [9], а также в ReactOS .
Область sc
управления командой ограничена локальным компьютером. Однако, начиная с Windows Server 2003 , он не только может sc
делать все, что делает оснастка «Службы», но также может устанавливать и удалять службы. [9]
Команда sc
дублирует некоторые функции net
команды. [10]
Версия ReactOS была разработана Гедом Мерфи и находится под лицензией GPL . [11]
Имя | Описание | Поддержка 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-Service [13]
- Новая услуга [14]
- Restart-Service [15]
- Резюме-услуга [16]
- Сет-Сервис [17]
- Старт-Сервис [18]
- Стоп-Сервис [19]
- Приостановка службы [20]
Другие инструменты управления
Windows также включает компоненты, которые могут выполнять часть того, что делают оснастка, Sc.exe и PowerShell. Команда net
может запускать, останавливать, приостанавливать или возобновлять работу службы Windows. [21] В Windows Vista и более поздних версиях диспетчер задач Windows может отображать список установленных служб и запускать или останавливать их. MSConfig может включать или отключать (см. Описание типа запуска выше) службы Windows.
Монтаж
Службы Windows устанавливаются и удаляются через установочные скрипты * .INF с помощью SetupAPI ; установленную службу можно запустить сразу после ее установки, а работающую службу можно остановить перед ее удалением. [22] [23] [24]
Разработка
Написание нативных сервисов
Служба Windows создается с использованием инструментов разработки, таких как Microsoft Visual Studio или Embarcadero Delphi . Чтобы быть службой Windows, программа должна быть написана таким образом, чтобы она могла обрабатывать сообщения запуска, остановки и приостановки из диспетчера управления службами. Диспетчер управления службами - это компонент Windows, который отвечает за запуск и остановку служб.
Упаковка приложений как услуги
Пакет Windows Resource Kit для Windows NT 3.51 , Windows NT 4.0 и Windows 2000 предоставляет инструменты для управления использованием и регистрацией служб: SrvAny.exe
действует как оболочка службы для обработки интерфейса, ожидаемого от службы (например, обработать service_start и ответить через некоторое время с помощью service_started или service_failed) и разрешить настройку любого исполняемого файла или сценария как службы. Sc.exe
позволяет устанавливать, запускать, останавливать и удалять новые службы. [25]
Смотрите также
- Службы Windows
- Список компонентов Microsoft Windows § Сервисы
- Повышение безопасности служб Windows
- svchost.exe
- Концепция
- Фоновый процесс
- Демон (вычисления)
- Службы защищенного режима DOS
- Прекратить и остаться резидентом программы
- Драйвер устройства
- Управление службами операционной системы
- Менеджер по управлению услугами
- Служба управления услугами
- Обертка службы
Рекомендации
- ^ a b c «Обзор услуг» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Услуги» . Сеть разработчиков Microsoft . Microsoft . Проверено 29 марта 2013 года .
- ^ «New Elevation PowerToys для Windows Vista» . Журнал TechNet . Microsoft . Июнь 2008 . Проверено 21 июня 2013 года .
Служба CmdAsSystem настроена как интерактивная, поддержка которой прекращается. Служба может работать некорректно. Проблема в том, что этот сценарий пытается создать и запустить интерактивную службу. Интерактивные службы не будут работать правильно из-за изоляции сеанса 0 в Windows Vista.
- ^ «Сервисы в Windows» . MSDN . Microsoft . 18 октября 2010 . Проверено 21 июня 2013 года .
- ^ «Запустить, остановить, приостановить, возобновить или перезапустить службу» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Свойство ServiceInstaller.DelayedAutoStart (System.ServiceProcess)» . Microsoft . Проверено 28 ноября 2017 г. См. Раздел примечаний.CS1 maint: postscript ( ссылка )
- ^ «Как создать службу Windows с помощью Sc.exe» . Поддержка . Microsoft. 11 сентября 2011 . Проверено 29 марта 2013 года .
- ^ «Ссылка командной строки AZ: SC» . TechNet . Microsoft . Проверено 8 января 2014 года .
- ^ а б «Справочник по командной строке: 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
- ^ SC - Управление службами - Windows CMD - SS64.com
- ^ reactos / sc.c на главном сервере · reactos / reactos · GitHub
- ^ a b MS-DOS и командная строка Windows sc команда
- ^ «Гет-Сервис» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Нью-Сервис» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Рестарт-Сервис» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Резюме-Сервис» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Сет-Сервис» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Старт-Сервис» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Стоп-Сервис» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Suspend-Service» . TechNet . Microsoft . Проверено 29 марта 2013 года .
- ^ «Запустить, остановить, приостановить, возобновить или перезапустить службу» . TechNet . Microsoft . Проверено 8 января 2014 года .
- ^ «Директива INF AddService» . Microsoft . Проверено 10 июля 2017 года .
- ^ «Функция SetupInstallServicesFromInfSection» . MSDN . Microsoft . Проверено 10 июля 2017 года .
- ^ «Функция SetupInstallServicesFromInfSectionEx» . MSDN . Microsoft . Проверено 10 июля 2017 года .
- ^ «Как создать сервис, определяемый пользователем» . Поддержка . Microsoft . Проверено 29 марта 2013 года .
дальнейшее чтение
- Сэвилл, Джон (5 марта 1999 г.). «Каковы значения ErrorControl, Start и Type в подразделах Services?» . Windows для ИТ-специалистов . Пентон Медиа . Проверено 29 марта 2013 года .
- Дэвид Б. Проберт, Сервисные процессы Windows
Внешние ссылки
- Windows Sysinternals: Autoruns for Windows v13.4 - чрезвычайно подробный запрос служб
- Управление службами с помощью Windows Sc из командной строки - Учебное пособие по управлению службами Windows
- Лоток диспетчера служб Windows