служба 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