Запуск приложения как службы Windows
Службы Windows – запущенные в фоне приложения, которые работают независимо от пользователя компьютера, и управляются непосредственно самой операционной системой. По умолчанию, службами являются строго определенные приложения, однако, ничто не мешает пользователю создать их самому. Выполнить данную задачу можно несколькими способами – с использованием стандартных средств Windows, либо с использованием сторонней программы NSSM.
SC
Входящая в Windows программа SC позволяет легко создавать службы Windows, а так же проводить другие различные с ними манипуляции – удаление, отключение, включение, и т. д. Создается служба достаточно просто, для этого достаточно запустить командную строку от имени администратора, и выполнить там следующую команду:
sc create [ИМЯ СЛУЖБЫ] binPath=[ПУТЬ К ИСПОЛНЯЕМОМУ ФАЙЛУ] DisplayName=[ОТОБРАЖАЕМОЕ ИМЯ СЛУЖБЫ] type=own start=auto
Удаляется же служба еще проще:
sc delete [ИМЯ СЛУЖБЫ]
Однако, у данного метода есть один большой существенный недостаток – с помощью данной утилиты создать службу можно только из программы, которая поддерживает работу службой. По этому, запустить какое попало приложение как службу данным способом не получится – но, можно воспользоваться сторонней утилитой NSSM, о которой речь пойдет ниже.
NSSM
- Предположим, нужно создать службу для веб-сервера nginx под Windows. Для этого, запускаем командную строку с правами администратора, и переходим в директорию с распакованным исполняемым файлом nssm.exe.
- Затем выполняем команду, начинающую установку службы:
nssm install nginx
На самой первой вкладке “Application“, в строке “Path” задается путь к исполняемому файлу, “Startup Directory” – рабочая директория, а “Arguments” – параметры запуска. В самом низу расположена строка “Service Name“, где задается имя создаваемого сервиса.
На вкладке “Details” можно задать имя, под которым будет отображаться создаваемая служба в списке служб, а так же описание службы, которое будет отображаться там же. В выпадающем списке “Startup Type” можно выбрать тип запуска службы.
Вкладка “Log on” позволяет указать пользователя, под которым будет запускаться служба.Заполним все нужные поля и выбрав нужные настройки, остается только нажать кнопку “Install service“, для установки службы.
Так же удалить службу можно с помощью команды в командной строке:
nssm remove [ИМЯ СЛУЖБЫ] confirm
Как включить службы по умолчанию в Windows 10
Если после каких-либо действий по оптимизации работы служб Windows 10 вы столкнулись с проблемами, может потребоваться восстановить параметры служб в состояние «по умолчанию». В зависимости от ситуации сделать это можно разными способами.
В этой инструкции подробно о различных методах восстановить службы по умолчанию в Windows 10 и дополнительная информация, которая может оказаться полезной.
- Конфигурация системы
- Точки восстановления
- Файл реестра
- Тип запуска служб по умолчанию
- Другие методы восстановления
- Видео
- Дополнительная информация
Конфигурация системы — способ, который может помочь, но не восстанавливает первоначальную конфигурацию всех служб
Самый часто рекомендуемый способ случай восстановления запуска служб — использовать «Конфигурация системы». По факту он не восстанавливает тип запуска всех служб, но в некоторых случаях может сработать и исправить возникшие из-за неполадок служб проблемы, поэтому рекомендую начать с него:
- Нажмите клавиши Win+R на клавиатуре (Win — клавиша с эмблемой Windows), введите msconfig и нажмите Enter.
- На вкладке «Общие» выберите пункт «Обычный запуск» и нажмите «Применить».
- Перезагрузите ваш компьютер.
После этого проверьте, была ли решена проблема.
Обратите внимание: если вы снова зайдёте в msconfig после перезагрузки, с большой вероятностью вы увидите, что отметка вновь установлена в состоянии «Выборочный запуск» — это нормально и как-то это исправлять не следует.
Точки восстановления — самый быстрый метод восстановления работы служб
Если на вашем компьютере сохраняются точки восстановления и в наличии есть точки восстановления, созданные на момент, предшествующий появлению проблем, это будет самым быстрым способом восстановления работоспособности служб.
В случае если Windows 10 запускается и работает:
- Нажмите клавиши Win+R на клавиатуре, введите rstrui.exe и нажмите Enter. Используйте предложенную точку восстановления или отметьте пункт «Выбрать другую точку восстановления».
- Выберите точку восстановления на дату, когда проблема не проявила себя.
- Запустите восстановление и дождитесь его завершения.
Если Windows 10 не запускается:
REG-файл с параметрами работы служб Windows 10 по умолчанию
Учитывайте, что при добавлении данных в реестр вы с большой вероятностью получите сообщение «Не удается импортировать, не все данные были успешно записаны в реестр». Это связано с тем, что изменение параметров некоторых служб запрещено в Windows 10 и изменения для них произведены не будут.
Тип запуска различных служб Windows 10
На скриншотах ниже — типы запуска служб по умолчанию для Windows 10, представлены только встроенные системные службы в Профессиональной редакции системы (в Домашней некоторые службы могут отсутствовать).
Другие методы восстановления типа запуска и других настроек служб на значения по умолчанию
Если какие-либо методы восстановления работы служб не позволяют решить проблемы, вы можете:
- Попробовать использовать стороннюю утилиту Easy Service Optimizer (язык интерфейса переключается в Options — Languages). Если выбрать вкладку «По умолчанию» и применить настройки, тип запуска служб будет восстановлен. Но: в программе представлены не все службы, а только основные. Официальный сайт программы — https://www.sordum.org/8637/easy-service-optimizer-v1-2/
- Опция возврата служб в состояние «по умолчанию» присутствует в утилите Windows Repair All In One, но я не ручаюсь за репутацию программы. Открываем раздел «Repairs», а затем отмечаем пункт сброса служб, как на скриншоте, нажимаем кнопку Start Repairs. Официальный сайт программы: https://www.tweaking.com/content/page/windows_repair_all_in_one.html
- Выполнить сброс Windows 10, можно с сохранением данных. Тип запуска служб и другие их параметры при этом будут восстановлены.
Видео
Дополнительная информация
В этом разделе присутствуют подразделы с именами, соответствующими «коротким именам» служб Windows. Внутри — параметры этих служб. Тип запуска задаётся параметром Start, обычно он принимает значения 2 (автоматически), 3 (вручную), 4 (отключена).
А вдруг и это будет интересно:
- Лучшие бесплатные программы для Windows
- Выберите операционную систему при загрузке Windows — как убрать меню
- Ошибка 0xc000000e при загрузке Windows — как исправить?
- Диск отключен из-за конфликта подписей с другим диском — как исправить?
- Ошибка при запуске приложения 0xc0000005 — как исправить?
- Случайные аппаратные адреса в Windows 11 и Windows 10 — что это, как включить или отключить
- Windows 11
- Windows 10
- Android
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Установка с флешки
- Настройка роутера
- Всё про Windows
- В контакте
- Одноклассники
-
Ирина 10.02.2021 в 07:55
- Dmitry 10.02.2021 в 08:36
- Vitaliy 10.02.2021 в 20:31
Как создать свою службу в Windows 11 и Windows 10
Службы в Windows — особые процессы, выполняемые в фоновом режиме, в том числе от учетной записи «СИСТЕМА», которые могут быть запущены в том числе до входа в систему. При желании вы можете создать свою собственную службу, которая будет работать таким же образом.
В этой инструкции подробно о том, как создать службу в Windows 11 или Windows 10 средствами системы, ограничениях методов и одном дополнительном способе заставить работать ваш процесс в качестве службы.
Создание службы в командной строке
Первый способ — использование команды командной строки для создания своей службы, шаги будут следующими:
sc create Имя_службы binPath="C:\service-file.exe" DisplayName= "Описание_службы" type=own start=auto
В указанной команде используются следующие параметры:
- binPath — путь к исполняемому файлу службы.
- DisplayName — отображаемое в списке служб имя службы.
- start — тип запуска, возможные значения: boot, auto, demand (значение по умолчанию), disabled, delayed-auto
- type — тип службы, по умолчанию own, возможны другие значения: share (делит исполняемый файл с другими службами), kernel (драйвер), filesys (драйвер файловой системы), interact (интерактивная служба с возможность взаимодействия с пользователем, поддержка этого типа служб прекращается).
После создания службы вы сможете увидеть её в списке служб (Win+R — services.msc), а автоматический запуск произойдет при следующей перезагрузке системы.
Создание службы в Windows PowerShell
Создать службу можно и в PowerShell, запущенном от имени администратора (или в Терминале Windows). Базовый вариант команды с параметрами по умолчанию:
New-Service -Name "Имя_Службы" -BinaryPathName '"C:\путь_к_файлу параметры_запуска"'
Расширенный вариант с указанием описания и типа запуска:
New-Service -Name MyService -BinaryPathName '"C:\путь_к_файлу параметры_запуска"' -DisplayName "Имя_службы" -Description "Описание службы" -StartupType "Automatic"
В случае, если выполняется запуск исполняемого файла без параметров, а путь не содержит пробелов, использование кавычек не обязательно, например:
-BinaryPathName C:\remontka.exe
Удаление созданной службы
Удалить созданную службы вы можете также в командной строке, запущенной от имени Администратора с помощью команды:
sc delete Имя_службы
Или в Windows PowerShell:
Remove-Service -Name MyService
После выполнения указанных команд созданная вами служба будет удалена из Windows.
Созданная служба не работает, варианты решения
Причина в том, что исполняемые файлы служб — не совсем обычные программы, они, помимо прочего, обмениваются данными с системой. Если ваш EXE не отвечает на соответствующие запросы системы, Windows «делает вывод» о том, что со службой что-то не так.
Как быть, если вы всё-таки настойчиво хотите использовать свой прикладной исполняемый файл в качестве службы?
- Использовать планировщик заданий и запуск от соответствующего пользователя — это не будет в полной мере службой, но почти то, что нужно.
- Ранее существовала программа RunAsSvc, позволяющая запускать любые процессы в качестве службы, но для современных ОC он не применима, а разработка была прекращена.
- Использовать инструменты INSTSRV.EXE и SRVANY.EXE из Windows Server 2003 Resource Kit Tools при создании службы Windows.
Создание пользовательской службы с помощью INSTSRV.EXE и SRVANY.EXE
Последний вариант из приведённого выше списка рассмотрим подробнее. Шаги будут следующими:
- Загрузите (вероятнее всего, придется найти в Интернете на сторонних сайтах) Windows Server 2003 Resource Kit полностью или только файлы INSTSRV.EXE и SRVANY.EXE, располагаем их у себя на диске, в моем примере путь — C:\Windows
- В командной строке от имени администратора используйте команду (пути меняем на свои):
C:\Windows\instsrv.exe Имя_службы C:\Windows\srvany.exe
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
и найдите раздел с вашим именем службы. Нажимаем по нему правой кнопкой мыши и выбираем пункт «Создать» — «Раздел», задаем имя «Parameters» для раздела.
Закройте редактор реестра — служба создана, её можно запустить из services.msc или она будет автоматически запущена после перезагрузки компьютера.
Учитывайте, что во всех приведенных примерах служба по умолчанию запускается с учетной записью «СИСТЕМА». В некоторых случаях это может приводить к неправильной работе. В этом случае может иметь смысл зайти в свойства службы в services.msc и изменить параметры на вкладке «Вход в систему».
А вдруг и это будет интересно:
- Лучшие бесплатные программы для Windows
- Выберите операционную систему при загрузке Windows — как убрать меню
- Ошибка 0xc000000e при загрузке Windows — как исправить?
- Диск отключен из-за конфликта подписей с другим диском — как исправить?
- Ошибка при запуске приложения 0xc0000005 — как исправить?
- Случайные аппаратные адреса в Windows 11 и Windows 10 — что это, как включить или отключить
- Windows 11
- Windows 10
- Android
- Загрузочная флешка
- Лечение вирусов
- Восстановление данных
- Установка с флешки
- Настройка роутера
- Всё про Windows
- В контакте
- Одноклассники
-
Юрий 06.02.2023 в 23:10
При подготовке материала использовались источники:
https://pc.ru/articles/zapusk-prilozheniya-kak-sluzhbu-windows
https://remontka.pro/restore-services-to-default-windows-10/
https://remontka.pro/create-service-windows/