Службы что это за программа

Знакомство с приложениями служб Windows

Эта документация не относится к последней версии службы Windows. Последние сведения о службах Windows, использующих BackgroundService и шаблон рабочей службы, см. в следующих разделах:

  • Службы рабочей роли в .NET
  • Создание службы Windows с использованием BackgroundService

Службы Microsoft Windows, ранее известные как службы NT, позволяют создавать долговременные исполняемые приложения, которые запускаются в собственных сеансах Windows. Для этих служб не предусмотрен пользовательский интерфейс. Они могут запускаться автоматически при загрузке компьютера, их также можно приостанавливать и перезапускать. Благодаря этому службы идеально подходят для использования на сервере, а также в ситуациях, когда необходимы долго выполняемые процессы, которые не мешают работе пользователей на том же компьютере. Службы могут выполняться в контексте безопасности определенной учетной записи пользователя, которая отличается от учетной записи вошедшего в систему пользователя или учетной записи компьютера по умолчанию. Дополнительные сведения о службах и сеансах Windows см. в документации по Windows SDK.

Можно легко создавать службы, создавая приложение, которое устанавливается как служба. Предположим, что вам нужно отслеживать данные счетчика производительности и реагировать на пороговые значения. Можно написать и развернуть приложение-службу Windows для прослушивания данных счетчиков, а затем начать сбор и анализ данных.

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

Созданное приложение можно установить, запустив служебную программу командной строки InstallUtil.exe и передав путь к исполняемому файлу службы. Затем вы можете использовать диспетчер служб для запуска, остановки, приостановки, продолжения работы и настройки службы. Можно также выполнять многие из этих задач в узле Службы в обозревателе сервера или с помощью класса ServiceController.

Приложения-службы и другие приложения Visual Studio

Приложения-службы отличаются от других типов проектов следующим образом:

  • Скомпилированный исполняемый файл, созданный проектом приложения-службы, должен быть установлен на сервере, прежде чем этот проект можно будет использовать надлежащим способом. Вы не сможете выполнить отладку или запустить приложение службы, нажав клавиши F5 или F11. Вы не сможете сразу же запустить службу или открыть ее код. Вместо этого необходимо установить и запустить службу, а затем подключить отладчик к процессу службы. Дополнительные сведения см. в разделе Практическое руководство. Отладка приложений служб Windows.
  • В отличие от некоторых типов проектов для приложений-служб необходимо создавать компоненты установки. Компоненты установки устанавливают и регистрируют службу на сервере и создают для нее запись с помощью диспетчера служб Windows. Дополнительные сведения см. в разделе Практическое руководство. Добавление установщиков в приложение-службу.
  • Метод Main для приложения службы должен выдать команду запуска для служб, которые содержит проект. Метод Run загружает службы в диспетчер служб на соответствующем сервере. Если вы используете шаблон проекта служб Windows, этот метод создается автоматически. Обратите внимание, что загрузка службы — не то же самое, что ее запуск. Дополнительные сведения см. в разделе “Время существования службы”.
  • Приложения-службы Windows выполняются в отдельной оконной станции, отличной от интерактивной станции вошедшего пользователя. Оконная станция — это безопасный объект, который содержит буфер обмена, набор глобальных атомов и группу объектов рабочего стола. Так как станция службы Windows не является интерактивной, диалоговые окна, отображаемые в приложении-службе Windows, не будут видны, что может привести к зависанию программы. Точно так же сообщения об ошибках должны записываться в журнал событий Windows, а не появляться в пользовательском интерфейсе. Классы службы Windows, поддерживаемые платформой .NET Framework, не поддерживают взаимодействие с интерактивными станциями, т. е. станциями вошедшего в систему пользователя. Платформа .NET Framework также не включает классы, которые представляют станции и рабочие столы. Если служба Windows должна взаимодействовать с другими станциями, нужно получить доступ к неуправляемому API Windows. Дополнительные сведения см. в документации по Windows SDK. Взаимодействие службы Windows с пользователем или другими станциями необходимо тщательно спроектировать, чтобы включить такие сценарии, когда вошедшего пользователя нет или у пользователя есть непредвиденный набор объектов рабочего стола. В некоторых случаях удобнее создать приложение Windows, которое будет выполняться под управлением пользователя.
  • Приложения-службы Windows выполняются в собственном контексте безопасности. Они запускаются, прежде чем пользователь войдет на компьютер Windows, на котором они установлены. Следует тщательно планировать, в какой учетной записи пользователя будет выполняться служба. Если это системная учетная запись, у службы будет больше разрешений и прав на доступ, чем при использовании учетной записи пользователя.

Время существования службы

Служба проходит через несколько внутренних состояний за время своего существования. Во-первых, служба устанавливается в системе, в которой она будет выполняться. Этот процесс выполняет установщики для проекта службы и загружает службу в диспетчер служб для этого компьютера. Диспетчер служб — это основное средство управления службами в Windows.

Загруженную службу необходимо запустить. Запущенная служба может выполнять свои задачи. Запустите службу из диспетчера служб или обозревателя сервера либо из кода, вызвав метод Start. Метод Start передает обработку в метод OnStart приложения и обрабатывает любой код, определенный там.

Запущенная служба может находиться в этом состоянии бесконечно, пока она не будет остановлена или приостановлена либо работа компьютера не будет завершена. Есть три основных состояния службы: Running, Paused и Stopped. Служба также может сообщать состояние ожидания выполнения команды: ContinuePending, PausePending, StartPending или StopPending. Эти состояния указывают, что команда выдана (например, команда для приостановки службы или запуска службы), но еще не выполнена. Вы можете запросить свойство Status, чтобы определить, в каком состоянии находится служба, или использовать WaitForStatus, чтобы выполнить действие при наступлении любого из этих состояний.

Вы можете приостановить, остановить или возобновить работу службы из диспетчера служб или обозревателя сервера либо из кода, вызвав методы. Каждое из этих действий вызывает соответствующую процедуру в службе (OnStop, OnPause или OnContinue), в которой можно определить дополнительную обработку на случай изменения состояния службы.

Типы служб

Есть два типа служб, которые можно создать в Visual Studio с помощью .NET Framework. Службам, которые являются единственными службами в процессе, назначается тип Win32OwnProcess. Службам, которые включены в процесс вместе с другими службами, назначается тип Win32ShareProcess. Тип службы можно получить, запросив свойство ServiceType.

Вы можете время от времени встречать другие типы служб при выполнении запроса к службам, которые не были созданы в Visual Studio. Дополнительные сведения см. здесь: ServiceType.

Службы и компонент ServiceController

Компонент ServiceController используется для подключения к установленной службе и изменения ее состояния. С помощью компонента ServiceController вы можете запускать, останавливать, приостанавливать и продолжать работу службы, а также отправлять службе пользовательские команды. Использовать компонент ServiceController при создании приложения-службы не нужно. Фактически, в большинстве случаев компонент ServiceController должен находиться в приложении, отдельном от приложения-службы Windows, которое определяет службу.

Для получения дополнительной информации см. ServiceController.

Требования

  • Службы должны создаваться в проекте приложения-службы Windows или другом проекте с поддержкой .NET Framework, который создает исполняемый файл при сборке и наследуется от класса ServiceBase.
  • Проекты, которые содержат службы Windows, должны включать компоненты установки для проекта и его служб. Это легко сделать с помощью окна свойств. Дополнительные сведения см. в разделе Практическое руководство. Добавление установщиков в приложение-службу.

См. также

  • Приложения служб Windows
  • Программная архитектура приложений служб
  • Практическое руководство. Создание служб Windows
  • Практическое руководство. Установка и удаление служб
  • Практическое руководство. Запуск служб
  • Практическое руководство. Отладка приложений служб Windows
  • Пошаговое руководство: Создание приложения служб Windows в конструкторе компонентов
  • Практическое руководство. Добавление установщиков в приложение-службу

Службы (службы)

Приложение службы соответствует правилам интерфейса диспетчера управления службами (SCM). Его можно запускать автоматически при загрузке системы, пользователем с помощью панели управления “Службы” или приложением, использующим функции службы. Службы могут выполняться, даже если пользователь не вошел в систему.

Служба драйверов соответствует протоколам драйвера устройства. Он аналогичен приложению службы, но не взаимодействует с SCM. Для простоты термин “служба ” относится к приложению-службе в этом обзоре.

Триггеры теперь можно использовать для управления запуском службы. Дополнительные сведения см. в разделе Конфигурация службы.

  • Новые возможности служб для Windows 8
  • Новые возможности служб для Windows 7
  • Изменения служб для Windows Vista
  • Сведения о службах
  • Использование служб
  • Справочник по службам

Обратная связь

Были ли сведения на этой странице полезными?

Службы Windows 10: для чего нужны и как их открыть

Службы Windows 10

После включения персонального компьютера и загрузки оперативной системы происходит запуск некоторых процессов. Эти процессы создаются запущенными приложениями и системными службами. Службы, или как их еще называют Services, это тоже программы на которые возложены определенные функциональные задачи. Они автономно запускаются вместе с загрузкой Windows 10, после чего начинают работать, исправно выполнять возложенные функции. Их работа не видна глазу пользователя, но в некоторых случаях службы могут расходовать непозволительно большое количество ресурсов. В таком случае компьютерные специалисты рекомендуют отключать те Services, без которых возможна стабильная и бесперебойная работа ОС. В этой статье расскажем, какие службы можно отключать.

Для чего нужны службы

Правильная работа операционной системы невозможна без наличия драйверов. Если в Windows 10 не будет установлен какой-либо драйвер, например, любого периферийного устройства, система не сможет его распознать. То есть, чтобы исправно работал принтер, сканер, модуль управления беспроводной связи или любой другой компонент персонального компьютера в операционной системе должен быть установлен определенный пакет программ – драйверов. Если говорить простым языком, службы это системные приложения, позволяющие Windows 10 обращаться к драйверам, управляющим определенной аппаратной частью компьютера.

Можно сказать, что служба выступает промежуточным звеном в связке «Система – Служба – Драйвер». Для лучшего понимания приведем простой пример. В Windows 10 или в любой другой предыдущей версии ОС есть служба под названием «Диспетчер очереди печати». Она не отвечает за работу внешнего устройства, а только позволяет или не позволяет системе выполнить печать после обращения к драйверу принтера. Подобный принцип взаимодействия Services и Drivers характерен для всей аппаратной части. Но есть системные приложения, которые можно смело отключать и освобождать дополнительные ресурсы. Иногда их отключают с той целью, чтобы снизить уровень уязвимости ПК. Ведь работа некоторых программ тесно связана с сетью: создаются открытые порты, чем могут воспользоваться злоумышленники.

Как открыть окно со службами в Windows 10

Открыть окно со службами можно разными способами. Один из самых простых:

  1. Нажмите на клавиатуре сочетание клавиш Windows + R.
  2. В открывшемся диалоговом окне введите команду «services.msc».
  3. Нажмите «Ок» или клавишу «Enter» на клавиатуре.
  4. На экране появится список всех доступных Services.

Также можно просто нажать правой кнопкой мыши по меню «Пуск», после чего выбрать «Управление компьютером».

1.jpg

В левом окошке открывшегося списка выбираем «Службы и приложения».

2.jpg

Система отобразит все задействованные и неактивные программы. Еще один способ открытия нужного нам списка: вызов «Диспетчер устройств» и переход во вкладку с соответствующим названием.

3.jpg

Последний способ особенно удобен, так как позволяет с минимальными временными затратами просмотреть задействованные и отключенные Services. Прямо здесь их можно включать и отключать. Для этого нажмите на названии правой кнопкой мыши. Полезная «фишка», которой предлагает воспользоваться ОС – поиск в интернете информации, касательно задач и функциональных обязанностей интересующей службы.

Можно ли отключать службы

В принципе, пользователь может отключать все, что ему захочется. Но делать это нужно осознанно. Все дело в том, что определенные Services взаимосвязаны между собой. Отключая одну службу, юзер нарушит работу другой, что приведет к сбою всей операционной системы. Прежде чем предпринимать какие-то действия, нужно внимательно ознакомиться с программой и разобраться с возложенными на неё функциями. В Windows 10 уже есть справочник с описанием, но для начинающего пользователя ПК эта информация поможет показаться непонятной. В любой поисковой системе введите наименование службы, и вы сразу же получите ответ. Поэтому проблем с поиском исчерпывающей информации возникнуть не должно.

Так выглядит описание в системе:

4.jpg

Из скриншота видно, что есть некая служба RemoteRegistry, которая открывает доступ удаленным пользователям к параметрам реестра. По умолчанию она всегда запущена, но мы можем в любую минуту зайти в её свойства и в строке «Состояние» выбрать функцию «Остановить». Чтобы изменения вступили в силу, достаточно нажать кнопку «Ок». Это одна из Services, отключение которой не повлияет на работу ПК. В домашних условиях совершенно нет надобности в RemoteRegistry, которая пригодится разве что систему администратору для правки веток реестра. Мы также подготовили список разрешенных к отключению служб. Вы можете смело их деактивировать и освободить пару сотен мегабайт оперативной памяти.

5.jpg

При первой же необходимости можно вернуть их к работе. Просто повторите весь описанный выше порядок действий. Только в свойствах отключенной службы с целью её запуска в строке «Состояние» жмите функцию «Запустить».

Универсального рецепта отключения всех ненужных Services нет. Задача юзера – шаг за шагом деактивировать сервисы, которые не критичны для работы операционной системы. Здесь главное не навредить. Если вы точно не можете понять, нужна программа или нет, в её свойствах выберите автоматический тип запуска. Работа этого приложения будет сохранена, но операционная система немного облегчится.

Отключаем Services с помощью PowerShell

В Windows 10 легко взаимодействовать с системой, изменять параметры и автоматизации задач посредством современной командной оболочки PowerShell. Открывается приложение через панель управления или с формы поиска.

6.jpg

Непосредственно в открытой командной строке введите функцию stop-service и наименование службы. Остановим работу приведенного выше сервиса, отвечающего за удаленный доступ пользователей к реестру. Просто вводим stop-service remoteregisty.

7.jpg

Теперь служба не будет работать. Чтобы вернуть её к работе, stop-service в строке команд следует заменить на start-service. Однако такой способ больше подходит опытным пользователям, уверенным в правильности своих действий. Начинающим юзерам рекомендуем пользоваться более наглядными и надежными методиками – в диспетчере или в управлении компьютером.

Заключение

Настраивать, отключать или включать службы достаточно просто. Только нужно быть уверенным в правильности совершаемых действий. Не будет лишним перед каждым обращением к Services страховаться. Зайдите в реестр и экспортируйте ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services в reg-файл, чтобы в случае сбоя привычной работы Windows 10 вернуть прежние настройки. В этой ветке хранятся все исходные параметры. После отключения некоторых сервисов освобождается оперативная память, разгружается система. Вполне оправданное занятие, которое даст определенный результат. Надеемся, что после прочтения данной статьи у вас появилось понимание, как отключаются и включаются службы в Windows 10.

При подготовке материала использовались источники:
https://learn.microsoft.com/ru-ru/dotnet/framework/windows-services/introduction-to-windows-service-applications
https://learn.microsoft.com/ru-ru/windows/win32/services/services

Добавить комментарий