служба Windows
В Windows NT операционных системах служба Windows — это компьютерная программа , работающая в фоновом режиме . [1] По своей концепции он похож на Unix демона . [1] Служба Windows должна соответствовать правилам интерфейса и протоколам Service Control Manager — компонента, отвечающего за управление службами 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 файл
Командная строка
[ редактировать ]Инструмент командной строки для управления службами Windows — sc.exe. Он доступен для всех версий Windows NT . [7] Эта утилита включена в состав Windows XP. [8] и позже [9] а также в ReactOS .
The sc
Область управления команды ограничена локальным компьютером. Однако, начиная с Windows Server 2003 , можно не только sc
делает все, что делает оснастка «Службы», но также может устанавливать и удалять службы. [9]
The sc
команда дублирует некоторые функции net
команда. [10]
Версия ReactOS была разработана Гедом Мерфи и распространяется под лицензией GPL . [11]
Имя | Описание | Поддержка Windows | Поддержка РеактОС |
---|---|---|---|
запрос | Показать статус услуги | Да | Да |
запросэкс | Показать расширенную информацию о сервисе (например, pid, флаги) | Да | Да |
начинать | Запустить службу | Да | Да |
пауза | Приостановить услугу | Да | Да |
допрашивать | Отправьте запрос управления INTERROGATE в службу | Да | Да |
продолжать | Продолжить обслуживание | Да | Да |
останавливаться | Остановить службу | Да | Да |
конфигурация | навсегда изменить конфигурацию службы | Да | Да |
описание | Изменить описание услуги | Да | Да |
отказ | Изменение действий, предпринимаемых службой при сбое | Да | Да |
флаг неудачи | Да | Нет | |
Сидтип | Да | Нет | |
привилегии | Да | Нет | |
управляемый аккаунт | Да | Нет | |
контроль качества | Показать конфигурацию службы (например, зависимости, полный путь и т. д.). | Да | Да |
qописание | Запросить описание услуги | Да | Да |
qfailure | Да | Нет | |
qfailureflag | Да | Нет | |
qsidtype | Да | Нет | |
qprivs | Да | Нет | |
qtriggerinfo | Да | Нет | |
qpreferrednode | Да | Нет | |
qmanagedaccount | Да | Нет | |
qзащита | Да | Нет | |
QuserService | Да | Нет | |
удалить | Удалить услугу | Да | Да |
создавать | Создать услугу | Да | Да |
контроль | Отправка элемента управления в службу | Да | Да |
SDшоу | Отображение дескриптора безопасности службы с помощью SDDL | Да | Да |
SDSet | Устанавливает дескриптор безопасности службы с помощью SDDL | Да | Да |
шоусид | Да | Нет | |
информация о триггере | Да | Нет | |
предпочтительный узел | Да | Нет | |
Получитьдисплейнаме | Показать отображаемое имя службы | Да | Да |
GetKeyName | Показать службу ServiceKeyName | Да | Да |
EnumDepend | Показать зависимости службы | Да | Да |
ботинок | Да | Нет | |
Замок | Да | Нет | |
QueryLock | Да | Нет |
Примеры
[ редактировать ]В следующем примере перечислены состояния активных служб и драйверов. [12]
C:\>sc query
В следующем примере показано состояние службы журнала событий Windows . [12]
C:\>sc query eventlog
PowerShell
[ редактировать ]Модуль PowerShell Microsoft.PowerShell.Management (входящий в состав Windows) имеет несколько командлетов, которые можно использовать для управления службами Windows:
- Get-Service [13]
- Новый сервис [14]
- Перезапуск-Сервис [15]
- Резюме-Сервис [16]
- Set-Сервис [17]
- Старт-Сервис [18]
- Стоп-Сервис [19]
- Приостановить-сервис [20]
Другие инструменты управления
[ редактировать ]Windows также включает компоненты, которые могут выполнять часть функций оснастки Sc.exe и PowerShell. net
Команда может запустить, остановить, приостановить или возобновить службу Windows. [21] В Windows Vista и более поздних версиях диспетчер задач Windows может отображать список установленных служб и запускать или останавливать их. MSConfig может включать или отключать (см. описание типа запуска выше) службы Windows.
Установка
[ редактировать ]Службы Windows устанавливаются и удаляются с помощью сценариев установки *.INF с помощью SetupAPI ; установленную службу можно запустить сразу после ее установки, а работающую службу можно остановить перед ее удалением. [22] [23] [24]
Разработка
[ редактировать ]Написание нативных сервисов
[ редактировать ]Чтобы программа могла работать как служба Windows, ее необходимо написать для обработки сообщений о запуске, остановке и приостановке службы от диспетчера управления службами (SCM) через API системных служб . SCM — это компонент 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
- Концепция
Ссылки
[ редактировать ]- ^ Перейти обратно: а б с «Обзор услуг» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ "Услуги" . Сеть разработчиков Microsoft . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Новые Elevation PowerToys для Windows Vista» . Журнал ТехНет . Майкрософт . Июнь 2008 года . Проверено 21 июня 2013 г.
Служба CmdAsSystem настроена как интерактивная, поддержка которой прекращена. Служба может работать некорректно. Проблема в том, что этот скрипт пытается создать и запустить интерактивный сервис. Интерактивные службы не будут работать правильно из-за изоляции сеанса 0 в Windows Vista.
- ^ «Службы в Windows» . MSDN . Майкрософт . 18 октября 2010 г. Проверено 21 июня 2013 г.
- ^ «Запустить, остановить, приостановить, возобновить или перезапустить службу» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Свойство ServiceInstaller.DelayedAutoStart (System.ServiceProcess)» . Майкрософт . Проверено 28 ноября 2017 г. См. раздел «Примечания».
{{cite web}}
: CS1 maint: постскриптум ( ссылка ) - ^ «Как создать службу Windows с помощью Sc.exe» . Поддерживать . Майкрософт. 11 сентября 2011 года . Проверено 29 марта 2013 г.
- ^ «Ссылка на командную строку AZ: SC» . ТехНет . Майкрософт . Проверено 8 января 2014 г.
- ^ Перейти обратно: а б «Ссылка на командную строку: Sc» . ТехНет . Майкрософт . Проверено 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
- ^ реакции/sc.c на мастере · реакции/реактос · GitHub
- ^ Перейти обратно: а б Команда sc командной строки MS-DOS и Windows
- ^ «Гет-Сервис» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Нью-Сервис» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Перезапуск-Сервис» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Резюме-Сервис» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Сет-Сервис» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Старт-Сервис» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Стоп-Сервис» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Приостановить-Сервис» . ТехНет . Майкрософт . Проверено 29 марта 2013 г.
- ^ «Запустить, остановить, приостановить, возобновить или перезапустить службу» . ТехНет . Майкрософт . Проверено 8 января 2014 г.
- ^ «Директива INF AddService» . Майкрософт . Проверено 10 июля 2017 г.
- ^ «Функция SetupInstallServicesFromInfSection» . MSDN . Майкрософт . Проверено 10 июля 2017 г.
- ^ «Функция SetupInstallServicesFromInfSectionEx» . MSDN . Майкрософт . Проверено 10 июля 2017 г.
- ^ «Как создать пользовательский сервис» . Поддерживать . Майкрософт . Проверено 29 марта 2013 г.
Дальнейшее чтение
[ редактировать ]- Сэвилл, Джон (5 марта 1999 г.). «Каковы значения ErrorControl, Start и Type в подразделах Services?» . Windows ИТ-специалист . Пентон Медиа . Проверено 29 марта 2013 г.
- Дэвид Б. Проберт, «Служебные процессы Windows»
Внешние ссылки
[ редактировать ]
- Windows Sysinternals: Autoruns для Windows v13.4 — чрезвычайно подробный запрос служб
- Управление службами с помощью Windows Sc из командной строки — Учебное пособие по управлению службами Windows
- Панель диспетчера служб Windows