Домашняя » как » Как запустить любую программу в качестве фоновой службы в Windows

    Как запустить любую программу в качестве фоновой службы в Windows

    Если вы похожи на большинство пользователей Windows, у вас есть много замечательных маленьких утилит, которые запускаются при запуске Windows. Хотя это прекрасно работает для большинства приложений, есть некоторые, которые было бы неплохо запустить еще до того, как пользователь войдет в систему на ПК. Для этого вам нужно запустить приложение в качестве службы Windows.

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

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

    Прекрасным примером этого является Plex, приложение медиасервера, которое может транслировать локальный контент практически на любое ваше устройство. Конечно, вы можете оставить его в системном трее, как обычную программу, но что, если компьютер перезагружается из-за сбоя питания или запланированных обновлений? Пока вы не войдете в систему на ПК, Plex будет недоступен. Это раздражает, если вам нужно бежать в другую комнату, чтобы запустить Plex, пока ваш попкорн остывает, и очень раздражает, если вы не в городе и пытаетесь передавать свои медиа через Интернет. Настройка Plex в качестве службы решит эту проблему.

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

    • Приложение не будет помещать значок в системный трей. Если вам нужен интерфейс, регулярно доступный для приложения, он может не подходить для запуска в качестве службы..
    • Когда вам нужно внести изменения или обновления конфигурации, вам нужно остановить службу, запустить программу как обычное приложение, сделать то, что вам нужно, остановить программу, а затем снова запустить службу.
    • Если программа уже настроена на запуск при запуске Windows, вам необходимо отключить это, чтобы не запускаться два экземпляра. У большинства программ есть опция в интерфейсе для переключения этого параметра. Другие могут добавить себя в папку «Автозагрузка», так что вы можете удалить их там.

    Готовы катиться? Давайте поговорим о том, как его настроить.

    Шаг первый: установите SrvStart

    Чтобы запустить приложение как сервис, вам понадобится небольшая сторонняя утилита. Есть несколько, но наш любимый SrvStart. Первоначально он был разработан для Windows NT и будет работать практически с любой версией Windows от Windows XP и выше..

    Чтобы начать, перейдите на страницу загрузки SrvStart и воспользуйтесь утилитой. Загрузка содержит всего четыре файла (два DLL и два EXE-файла). Там нет установщика; вместо этого скопируйте их на свой компьютер C: \ Windows поместите их в основную папку Windows, чтобы «установить» SrvStart.

    Мы также будем предполагать, что вы уже установили и настроили любую программу, которую собираетесь превратить в службу, но если у вас ее нет, сейчас самое время сделать это..

    Шаг второй: создайте файл конфигурации для новой службы

    Затем вы захотите создать файл конфигурации, который SrvStart будет читать для создания сервиса. С SrvStart можно многое сделать, и вы можете прочитать полную информацию обо всех параметрах конфигурации на странице документации. Для этого примера мы будем использовать только две команды: запускать, которая указывает программу для запуска, и shutdown_method, который сообщает SrvStart, как закрыть программу, когда соответствующая служба остановлена.

    Запустите Блокнот и создайте свой файл конфигурации, используя формат ниже. Здесь мы используем Plex, но вы можете создать файл для любой программы, которую вы хотите запустить в качестве службы. запускать Команда просто указывает путь, где находится исполняемый файл. Для shutdown_method команда, мы используем winmessage параметр, который заставляет SrvStart отправлять сообщение о закрытии Windows любому окну, открытому сервисом.

    [Plex] startup = "C: \ Program Files (x86) \ Plex \ Plex Media Server \ Plex Media Server.exe" shutdown_method = winmessage

    Очевидно, измените путь и имя в соответствии с программой, которую вы запускаете.

    Сохраните новый файл конфигурации, где хотите, и замените расширение .txt расширением .ini. Запишите имя файла, так как оно понадобится нам на следующем шаге. Для удобства ввода в командной строке мы рекомендуем временно сохранить этот файл прямо на диске C :..

    Шаг третий: используйте командную строку для создания новой службы

    Следующим шагом будет использование команды Windows Service Controller (SC) для создания новой службы на основе критериев в файле конфигурации. Откройте командную строку, щелкнув правой кнопкой мыши меню «Пуск» (или нажав Windows + X), выбрав «Командная строка (Admin)», а затем нажав кнопку «Да», чтобы разрешить запуск с правами администратора..

    В командной строке используйте следующий синтаксис для создания новой службы:

    SC CREATE Displayname = "" binpath = "srvstart.exe -c" start = 

    В этой команде есть несколько моментов, на которые следует обратить внимание. Во-первых, каждый знак равенства (=) имеет пробел после него. Это требуется. Так же ценность полностью зависит от вас. И, наконец, для значение, которое вы хотите использовать авто так что служба запускается автоматически с Windows.

    Таким образом, в нашем примере Plex команда будет выглядеть так:

    SC CREATE Plex Displayname = "Plex" binpath = "srvstart.exe Plex -c C: PlexService.ini" start = auto

    Да, вы правильно прочитали: я использовал C: PlexService.ini вместо C: \ PlexService.ini . Команда требует от вас убрать косую черту.

    Когда вы запускаете команду, вы должны получить сообщение УСПЕХА, если все идет хорошо.

    С этого момента ваша новая служба будет работать при каждом запуске Windows. Если вы откроете интерфейс служб Windows (просто нажмите «Пуск» и введите «Службы»), вы сможете найти и настроить новую службу так же, как и любую другую..

    И это все, что нужно сделать. Если у вас есть приложения, которые запускаются с Windows, и вы предпочитаете, чтобы они запускались без необходимости входа пользователя, достаточно легко превратить любое приложение в службу. Мы только что коснулись базового метода создания и запуска нового сервиса, но с помощью SrvStart вы можете сделать гораздо больше, чтобы точно настроить работу сервиса. Обязательно ознакомьтесь с документацией, если вы хотите узнать больше.