Службы Windows
Материал из Википедии — свободной энциклопедии
Слу́жбы Windows (англ. Windows Service, сервисы) - приложения, автоматически запускаемые системой при запуске Windows и выполняющиеся вне зависимости от статуса пользователя. Имеет общие черты с концепцией демонов в Unix.
Содержание |
[править] Режимы работы
В большинстве случаев службам запрещено взаимодействие с консолью или рабочим столом пользователей (как локальных, так и удалённых), однако для некоторых сервисов возможно исключение - взаимодействие с консолью (сессией с номером 0, в которой зарегистрирован пользователь локально или при запуске службы mstsc с ключом /console).
Существует четыре режима для сервисов:
- Запрещён к запуску
- Ручной запуск (по запросу)
- Автоматический запуск при загрузке компьютера
- Обязательный сервис (автоматический запуск и невозможность (для пользователя) остановить сервис).
[править] Фоновый режим
Windows предлагает программу Service Control Manager, с её помощью можно управлять созданием, удалением, запуском и остановкой служб. Приложение, имеющее статус сервиса, должно быть написано таким образом, чтобы оно могло принимать сообщения от Service Control Manager. Затем, одним или несколькими вызовами API, имя службы и другие атрибуты, такие, как его описание, регистрируются в Service Control Manager.
[править] Запуск/Остановка/Изменение Windows Service
После установки службы, её атрибуты могут быть изменены путём запуска «Services» из Панели управления Windows в Administrative Tools.
[править] Управление запуском служб при старте Windows
Список служб находится в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
Значения параметра "Start" имеют тип "REG_DWORD" и могут принимать значения:
- 0
- 1
- 2
- 3
- 4 - служба не запускается (запуск даной службы запрещен)
[править] Управление работой служб из командной строки
Управление службами возможно с помощью командной строки.
Например:
net stop service_name
или
net start service_name
[править] Права пользователя и особенности реализации
Сервисы Windows по умолчанию запускаются от имени пользователя «LocalSystem», который обладает полными правами в системе (превосходящими права даже учётной записи Administrator). Рабочим каталогом будет системный каталог Windows (обычно C:\WINNT или C:\WINDOWS), а каталог для хранения временных файлов будет C:\WINNT\TEMP.
Так как это не настоящий пользователь, а «виртуальный», появляются некоторые трудности, когда приложению необходимо сохранить данные, относящиеся к пользователю (user-specific data), поскольку не существует папки этого пользователя.
Важно также то, что в случае если служба работает от имени локального пользователя (реальный пользователь созданный для служебных целей) если пароль такого пользователя изменён, сервис не будет запускаться до тех пор, пока пароль для сервиса тоже не будет изменен.
[править] Внешние ссылки
- MSDN Знакомство со служебными приложениями Windows
- Microsoft’s MSDN Library Documentation on Services
- INSTSRV.EXE is a Windows resource kit program that allows you to install an arbitrary application as a service
- SrvAny and InstSrv Tutorial with many Screenshots
- pcs.suite101.com/article.cfm/index_of_services: Index of Windows XP Services -- An Index of the Services running on Windows XP operating system
Это незавершённая статья о Microsoft Windows. Вы можете помочь проекту, исправив и дополнив её. |