Запуск приложения в качестве службы ос windows

Запуск графического приложения в виде службы Windows

Можно ли запустить клиентское приложение в качестве службы? В одной из статей я описывал способы создания службы Windows штатными средствами ОС. Однако не каждое консольное приложение сможет запуститься как служба, а программы с графическим интерфейсом в принципе не умеют работать подобным образом. Но возможность запустить приложение как службу все же есть, и поможет нам в этом программа с оригинальным названием Non-Sucking Service Manager.

NSSM представляет из себя свободное программное обеспечение с открытым кодом и поддерживает все операционные системы Microsoft, начиная с Windows 2000 и заканчивая Windows 8. NSSM не требует установки, достаточно его загрузить и распаковать. В дистрибутив входят версии для 32- и 64-разрядных ОС. Взять программу можно с сайта nssm.cc, на данный момент последняя стабильная версия 2.21.1, которую я и буду использовать.

Для демонстрации возможностей NSSM попробуем запустить Блокнот Windows в качестве службы на Windows 8.1.

Создание службы

Для создания службы с именем notepad запускаем командную консоль, переходим в папку с распакованным NSSM (для 64-разрядной Windows) и вводим команду nssm install notepad, которая открывает окно графического инсталлятора NSSM. Чтобы создать службу, достаточно в поле Path указать путь к исполняемому файлу и нажать кнопку «Install service». Дополнительно в поле Options можно указать ключи, необходимые  для запуска службы.

запуск NSSM

Также на этапе создания новой службы можно указать некоторые дополнительные параметры.

На вкладке «Shutdown» перечислены методы остановки и таймауты, используемые при штатном завершении работы или аварийной остановке приложения. Когда NSSM получает команду остановки (напр. при завершении работы приложения), то он пытается остановить контролируемое приложение штатным образом. Если же приложение не отвечает, то NSSM может принудительно завершить все процессы и подпроцессы этого приложения.

Всего есть четыре этапа завершения работы приложения, и по умолчанию они будет использоваться в таком порядке:

• На первом этапе NSSM пытается сгенерировать и отправить событие Ctrl+C. Этот способ хорошо работает для консольных приложений или скриптов, но не применим для графических приложений;
• Затем NSSM определяет все окна, созданные приложением, и посылает им сообщение WM_CLOSE, инициирующее выход из приложения;
• Третьим этапом NSSM вычисляет все потоки, созданные приложением, и отправляет им сообщение WM_QUIT, которое будет получено если приложение имеет очередь сообщений потока;
• И в качестве последнего средства NSSM может вызвать метод TerminateProcess(), принудительно завершив работу приложения.

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

настройки выключения службы в NSSM

По умолчанию при падении службы NSSM пытается рестартовать ее. На вкладке «Exit actions» можно изменить автоматическое действие при нештатном завершении работы приложения, а также выставить задержку перед автоматическим перезапуском приложения.

настройки выхода для службы в NSSM

На вкладке «Input/Output (I/O)» можно задать перенаправление вводавывода приложения в указанный файл.

вкладка I/O в NSSM

На вкладке «Environment» можно задать для службы новые переменные окружения, или переопределить существующие.

вкладка Environment в NSSM

Также можно не пользоваться графической оболочкой и сразу создать службу в консоли такой командой:

nssm install notepad ″C:Windowssystem32notepad.exe″

Управление службой

После создания службы с помощью NSSM зайдем в оснастку Services и найдем службу notepad. Как видите, с виду она ничем не отличается от остальных служб, мы также можем ее запустить, остановить или изменить режим запуска. Однако обратите внимание, что в качестве исполняемого файла указан nssm.exe.

свойства службы

А если зайти в Task Manager, то мы увидим следующую картину: в качестве основного (родительского) процесса запущен NSSM, служба notepad запущена как его дочерний процесс, и уже в этом дочернем процессе запущено приложение Блокнот.

служба NSSM в диспетчере задач

Удаление службы

Для удаления службы вводим команду nssm remove notepad и подтверждаем ее удаление. А введя команду nssm remove notepad confirm, можно обойтись и без подтверждения.

удаление службы в NSSM

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

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

Для того, чтобы запустить службу в интерактивном режиме, надо в оснастке Службы открыть ее свойства и на вкладке «Вход в систему» отметить чекбокс «Разрешить взаимодействие с рабочим столом».

разрешаем службе взаимодействие с рабочим столом

А дальше начинаются чудеса 🙂 Cлужба, запущенная в интерактивном режиме, открывается в изолированном сеансе (session 0). Попасть в этот сеанс можно только при помощи Службы обнаружения интерактивных служб (ui0detect), которая отслеживает запуск интерактивных служб на компьютере и выдает оповещение. В Windows 7Server 2008 эта служба активна по умолчанию, а в Windows 8Server 2012 она отключена и не отображается в графической оснастке Службы (по крайней мере я ее там не нашел). Более того,  если вы все же найдете эту таинственную службу и попробуете ее запустить, то получите сообщение об ошибке.

А дело в том, что для ее запуска необходимо разрешить запуск интерактивных служб на компьютере. Поэтому открываем редактор реестра, находим в разделе HKLMSystemCurrentControlSetControlWindows параметр типа DWORD с именем NoInteractiveServices и ставим его значение в 0.

разрешаем запуск интерактивных служб

После чего открываем консоль PowerShell и стартуем службу обнаружения командой:

Start-Service -Name ui0detect

включаем службу обнаружения

Убедившись что служба обнаружения запущена, рестартуем службу notepad, и получаем вот такое окошко. Выбираем пункт «Посмотреть сообщение»

окно обнаружения запуска интерактивной службы

и попадаем в нулевой сеанс, в котором работает наше приложение. Дальше производим с ним необходимые действия и возвращаемся обратно.

нулевой сеанс

Такое вот интересное решение для запуска приложений в виде служб Windows. Не самое красивое, но вполне соответствующее своему названию 🙂


Windows, Программное обеспечение

  • 06.01.2020
  • 31 786
  • 6
  • 27.07.2020
  • 53
  • 53
  • 0

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

  • Содержание статьи
    • SC
    • NSSM
    • Комментарии к статье ( 6 шт )
    • Добавить комментарий

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

SC

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

sc create [ИМЯ СЛУЖБЫ] binPath=[ПУТЬ К ИСПОЛНЯЕМОМУ ФАЙЛУ] DisplayName=[ОТОБРАЖАЕМОЕ ИМЯ СЛУЖБЫ] type=own start=auto

Удаляется же служба еще проще:

sc delete [ИМЯ СЛУЖБЫ]

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

NSSM

NSSM — программа, предназначенная для создания служб из исполняемых файлов Windows, в том числе и из графических утилит, что ставит её на уровень выше средств от Microsoft. С её помощью можно запускать большинство приложений, даже которые рассчитаны на взаимодействие с пользователем.

Скачать данную программу можно с её официального сайта — nssm.cc.
На случай проблем с официальным сайтом, можно скачать программу с нашего сайта.

Скачать NSSM 2.24

В архиве для скачивания можно найти версию для 64-битной версии Windows (папка win64), для 32-битной (папка win32) и исходные коды приложения (папка src). Выбираем нужное приложение под разрядность своей системы, копируем его в удобное для вас место на жестком диске. Никакая установка приложения не требуется.

Пример использования:

  1. Предположим, нужно создать службу для веб-сервера nginx под Windows. Для этого, запускаем командную строку с правами администратора, и переходим в директорию с распакованным исполняемым файлом nssm.exe.
  2. Затем выполняем команду, начинающую установку службы:
    nssm install nginx
  3. Откроется окно с настройками создаваемой службы.

    На самой первой вкладке «Application«, в строке «Path» задается путь к исполняемому файлу, «Startup Directory» — рабочая директория, а «Arguments» — параметры запуска. В самом низу расположена строка «Service Name«, где задается имя создаваемого сервиса.

    На вкладке «Details» можно задать имя, под которым будет отображаться создаваемая служба в списке служб, а так же описание службы, которое будет отображаться там же. В выпадающем списке «Startup Type» можно выбрать тип запуска службы.

    Вкладка «Log on» позволяет указать пользователя, под которым будет запускаться служба.Заполним все нужные поля и выбрав нужные настройки, остается только нажать кнопку «Install service«, для установки службы.
  4. После нажатия кнопки «Install service«, служба будет создана, но при этом запустить её нужно будет вручную (либо перезагрузить компьютер, чтобы служба с параметром запуска «Auto» запустилась при его запуске).

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

nssm remove [ИМЯ СЛУЖБЫ] confirm

Программа как служба или как превратить любую программу в службу на Windows

Loney_Break

22:34

Комментариев нет

Рано или поздно, у простого пользователя или прожженого сисадмина возникает такая ситуация как: «Превратить программу в службу». Зачем это нужно, и в чем отличие. Если сильно не вдаваться в подробности то слушайте. Служба — это такое приложение , которое автоматически запускается при старте Windows, и работает в фоновом режиме. Сразу же поясняю что к чему. По поводу автозапуска — не всегда пользователю требуется запуск службы автоматически со стартом системы, это всегда можно изменить и настроить как вам нужно. По поводу фоновой работы — эта такой способ работы приложения, при котором оно не взаимодействует с рабочем столом, т.е. не отображается.(Тихо и незаметно работает на своем месте) Столкнулся я с такой проблемой при подключении к базе данных 1С через Публикатор (Аналог 1С Линк) развернутый на Windows server 2012. Все было отлично, программа работала и тихо раздавала базы, но случился маленький ньюанс. После выхода из пользователя , под которым была запущена программа, базы перестали раздаваться т.к. Публикатор завершил свою работу. Что же делать? Было решено сделать из программы Публикатор»  — службу. Тогда программа сможет работать постоянно, независимо от того, какой пользователь запущен. Сейчас я вам покажу, как просто, без каких либо крутых навыков превратить почти любую программу в службу. Во первых, нам потребуется программа под названием NSSM расшифровывается как Non-Sucking Service Manager. Скачать ее можно на официальном сайте: Ссылка на сайт Программы Прямая ссылка на скачивание программы : Прямая ссылка на скачку программы Скачав по ссылке, вы получите архив, внутри которого находиться:

Папки:
scr — папка с исходниками программы, вдруг вы захотите покапаться во внутренностях программы или переделать ее под себя.
win32 — папка с программой рассчитанной под операционную систему windows разрядностью 32 бита.
win64 — папка с программой рассчитанной под операционную систему windows разрядностью 64 бита.

Файлы:
ChangeLog.txt — файл с описанием изменений каждой версии программы.
README.txt — файл с описанием программы.

Теперь, когда мы познакомились с содержимым архива, приступим к установке. В зависимости от разрядности вашей системы 32/64 бита, выбираем папку с программой.(Если у вас разрядность системы 32 бита то выбираем win32, если 64 то win64). Переносим эту папку в корень диска с операционной системой(Желательно), и запускаем командную строку(Вызвать ее можно комбинацией клавиш Win+R, и в сплывающем окне набрать cmd и нажать OK)

Откроется командная строка,и в ней набираем команду cd и путь к программе nssm. Например:

cd C:/

Далее набираем команду —  nssm install + имя будущей службы. Например:

nssm install publikator

И перед нами предстает окно программы nssm.

Расскажу коротко о настройках которые нам потребуются.

Path — в этом поле указываем путь к программе которую мы хотим переделать в службу(Обязательно).
Startup directory — директория нахождения программы(Обязательно).
Arguments — дополнительные параметры запуска программы(Не обязательно).
Service name — наименование будущей службы(Можно назвать как угодно, хоть MEGASLUZBA).

На этом в принципе все, дополнительных настроек не требуется.
После всех настроек нажимаем кнопку install service и запускаем диспетчер задач и наблюдаем нашу службу.

Перезагрузите компьютер, или запустите службу вручную из диспетчера задач. (Правой кнопкой мыши по службе — запустить)

P.S.на всякий случай,если у вас не работает стабильно ваша программа, то в разделе process, уберите галочку Console Windows.

Что бы внести изменения в вашу службу, запустите командную строку и введите команду: nssm edit + название вашей службы

nssm edit publikator

3.7
3
голоса

Рейтинг статьи

Однажды вы задумаетесь, как превратить скрипт или приложение в Windows-службу. Скорее всего, задача окажется не такой уж тривиальной – приложению как минимум потребуется специальный интерфейс для получения команд от системы. А раз есть требования и ограничения, то есть и скрипты, и милые сердцу костылики для преодоления.

Статья будет полезна тем, кто, как и я — «программист не настоящий».

Зачем нужна служба, если есть назначенные задания

В отличие от назначенных заданий служба работает постоянно, запускается при старте ПК и может управляться средствами Windows. А еще регулярно запускаемому скрипту могут понадобиться данные с предыдущего запуска, и может быть полезно получение данных из внешних источников — например, в случае TCP или Web сервера.

Лично мне за последние пять лет приходилось создавать службу три с половиной раза:

  • Потребовалось создать сервис на fail2ban для Windows 2003., который работал с логами FileZilla и Apache, а при подозрении на брутфорс блокировал IP штатными средствами Windows — ipsec.
  • Аналог телнет-сервера для домашних версий Windows. Понадобилось выполнять команды на удаленных рабочих станциях, которые были под управлением Windows 7 Home. По сути, вторая попытка поиграть в службы.
  • Музыкальный проигрыватель для торгового зала под Windows. Задачу по ТЗ можно было решить при помощи mpd и пачки скриптов, но я решил — если уж делать скрипты, то почему бы и не «сваять» проигрыватель самому. За основу взял библиотеку BASS.dll.
  • Когда выбирали веб-сервер с поддержкой загрузки файлов под Windows, одним из вариантов был HFS. Сам по себе работать он не может, поэтому пришлось «запихивать» его в службу. В результате решение не понравилось, и просто установили «тему» Apaxy на web-сервере Apache.

Для создания службы можно использовать взрослые языки программирования вроде C. Но если вы не хотите связываться с Visual Studio, то возьмите готовые утилиты. Существуют платные решения вроде FireDaemon Pro или AlwaysUp, но мы традиционно сосредоточимся на бесплатных.

Способ первый. От Microsoft

Этот уже немолодой механизм состоит из двух компонентов: утилиты instsrv.exe для установки сервиса и srvany.exe — процесса для запуска любых исполняемых файлов. Предположим, что мы создали веб-сервер на PowerShell при помощи модуля Polaris. Скрипт будет предельно прост:

New-PolarisGetRoute -Path '/helloworld' -Scriptblock {
    $Response.Send('Hello World!')
}

Start-Polaris -Port 8080

while($true) {
    Start-Sleep -Milliseconds 10
}


Работа так называемого «сервера».

Теперь попробуем превратить скрипт в службу. Для этого скачаем Windows Resource Kit Tools, где будут наши утилиты. Начнем с того, что установим пустой сервис командой:

instsrv WebServ C:temprktoolssrvany.exe

Где WebServ — имя нашего нового сервиса. При необходимости через оснастку services.msc можно задать пользователя, под которым будет запускаться служба, и разрешить взаимодействие с рабочим столом.

Теперь пропишем путь к нашему скрипту при помощи магии реестра. Параметры службы есть в разделе реестра HKLMSYSTEMCurrentControlSetServicesWebServ. В нем нам нужно добавить новый раздел Parameters и создать там строковый параметр Application, указав в нем путь к исполняемому файлу. В случае скрипта PowerShell он будет выглядеть так:

C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -NoProfile -File C:tempPolarisserver.ps1


Настроенная служба.

Можно запустить и радоваться.


Работающая служба.

Однако у этого способа есть недостатки:

  • Утилиты старые, разработаны до изобретения PowerShell, UAC и прочих вещей.
  • Srvany не контролирует работу приложения. Даже если оно выпадет в ошибку, служба продолжит свое дело как ни в чем не бывало.
  • Придется донастраивать и копаться в реестре. Вы же помните, что копаться в реестре небезопасно?

Поэтому перейдем к методу, частично лишенному этих проблем.

Способ второй, почти взрослый

Существует утилита под названием NSSM — Non-Sucking Service Manager, что можно перевести как не-плохой менеджер служб. В отличие от предыдущей, она поддерживается разработчиком, и исходный код опубликован на сайте. Помимо обычного способа, доступна и установка через пакетный менеджер Chocolately.

Создать сервис можно из обычной командной строки, вооружившись документацией на сайте разработчика. Но мы воспользуемся PowerShell. Потому что можем, разумеется.

$nssm = (Get-Command ./nssm).Source
$serviceName = 'WebServ'
$powershell = (Get-Command powershell).Source
$scriptPath = 'C:tempPolarisserver.ps1'
$arguments = '-ExecutionPolicy Bypass -NoProfile -File "{0}"' -f $scriptPath
& $nssm install $serviceName $powershell $arguments
& $nssm status $serviceName
Start-Service $serviceName
Get-Service $serviceName


Установка через PowerShell.

Для разнообразия проверим работу службы не браузером, а тоже через PowerShell командой Invoke-RestMethod.


И вправду работает.

В отличие от srvany, этот метод позволяет перезапускать приложение на старте, перенаправлять stdin и stdout и многое другое. В частности, если не хочется писать команды в командную строку, то достаточно запустить GUI и ввести необходимые параметры через удобный интерфейс.

GUI запускается командой:

nssm.exe install ServiceName


Настроить можно даже приоритет и использование ядер процессора.

Действительно, возможностей куда больше, чем у srvany и ряда других аналогов. Из минусов бросается в глаза недостаточный контроль над всем процессом.

Налицо нехватка «жести». Поэтому я перейду к самому хардкорному методу из всех опробованных.

Способ третий. AutoIT

Поскольку я давний любитель этого скриптового языка, то не смог пройти мимо библиотеки под названием _Services_UDF v4. Она снабжена богатой документацией и примерами, поэтому под спойлером сразу приведу полный текст получившегося скрипта.

Листинг скрипта

Итак, попробуем «завернуть» в нее наш веб-сервис:

#NoTrayIcon
#RequireAdmin
#Region
#AutoIt3Wrapper_Version=Beta
#AutoIt3Wrapper_UseUpx=n
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#EndRegion

Dim $MainLog = @ScriptDir & "test_service.log"

#include <services.au3>
#include <WindowsConstants.au3>

$sServiceName="WebServ"

If $cmdline[0] > 0 Then
    Switch $cmdline[1]
        Case "install", "-i", "/i"
            InstallService()
        Case "remove", "-u", "/u", "uninstall"
            RemoveService()
        Case Else
            ConsoleWrite(" - - - Help - - - " & @CRLF)
            ConsoleWrite("params : " & @CRLF)
            ConsoleWrite(" -i : install service" & @CRLF)
            ConsoleWrite(" -u : remove service" & @CRLF)
            ConsoleWrite(" - - - - - - - - " & @CRLF)
            Exit
    EndSwitch
Else
    _Service_init($sServiceName)
    Exit
EndIf

Func _main($iArg, $sArgs)
If Not _Service_ReportStatus($SERVICE_RUNNING, $NO_ERROR, 0) Then
    _Service_ReportStatus($SERVICE_STOPPED, _WinAPI_GetLastError(), 0)
    Exit
EndIf

$bServiceRunning = True
$PID=Run("C:WindowsSystem32WindowsPowerShellv1.0powershell.exe -ExecutionPolicy Bypass -NoProfile -File C:tempPolarisserver.ps1")

While $bServiceRunning
_sleep(1000)
WEnd
ProcessClose($PID)

_Service_ReportStatus($SERVICE_STOP_PENDING, $NO_ERROR, 1000)
DllCallbackFree($tServiceMain)
DllCallbackFree($tServiceCtrl)
_Service_ReportStatus($SERVICE_STOPPED, $NO_ERROR, 0)
DllClose($hAdvapi32_DLL)
DllClose($hKernel32_DLL)
EndFunc

Func _Sleep($delay)
Local $result = DllCall($hKernel32_DLL, "none", "Sleep", "dword", $delay)
EndFunc

Func InstallService()
    #RequireAdmin
    Local $bDebug = True
    If $cmdline[0] > 1 Then
        $sServiceName = $cmdline[2]
    EndIf
    If $bDebug Then ConsoleWrite("InstallService("&$sServiceName &"): Installing service, please wait")
    _Service_Create($sServiceName, $sServiceName, $SERVICE_WIN32_OWN_PROCESS, $SERVICE_AUTO_START, $SERVICE_ERROR_SEVERE, '"' & @ScriptFullPath & '"');,"",False,"","NT AUTHORITYNetworkService")
    If @error Then
        Msgbox("","","InstallService(): Problem installing service, Error number is " & @error & @CRLF & " message : " & _WinAPI_GetLastErrorMessage())
    Else
        If $bDebug Then ConsoleWrite("InstallService(): Installation of service successful")
    EndIf
    Exit
EndFunc

Func RemoveService()
    _Service_Stop($sServiceName)
    _Service_Delete($sServiceName)
    If Not @error Then
    EndIf
    Exit
EndFunc

Func _exit()
    _Service_ReportStatus($SERVICE_STOPPED, $NO_ERROR, 0);
EndFunc

Func StopTimer()
    _Service_ReportStatus($SERVICE_STOP_PENDING, $NO_ERROR, $iServiceCounter)
    $iServiceCounter += -100
EndFunc

Func _Stopping()
    _Service_ReportStatus($SERVICE_STOP_PENDING, $NO_ERROR, 3000)
 EndFunc

Разберу подробнее момент запуска приложения. Он начинается после операции $bServiceRunning = True и превращается в, казалось бы, бесконечный цикл. На самом деле этот процесс прервется, как только служба получит сигнал о завершении — будь то выход из системы или остановка вручную.

Поскольку программа для скрипта является внешней (powershell.exe), то после выхода из цикла нам нужно закончить ее работу с помощью ProcessClose.

Для этого скрипт необходимо скомпилировать в .exe, а затем установить службу, запустив exe с ключом -i.


Оно работает!

Разумеется, этот способ не самый удобный, и все дополнительные возможности придется реализовывать самостоятельно, будь то повторный запуск приложения при сбое или ротация логов. Но зато он дает полный контроль над происходящим. Да и сделать в итоге можно куда больше — от уведомления в Telegram о сбое службы до IPC-взаимодействия с другими программами. И вдобавок — на скриптовом языке, без установки и изучения Visual Studio.

Расскажите, а вам приходилось превращать скрипты и приложения в службы?

Содержание

  1. Как установить программу в качестве службы
  2. Установка программы в качестве службы
  3. Удаление службы
  4. Пилим свою службу Windows – руководство для «не настоящих программистов»
  5. Зачем нужна служба, если есть назначенные задания
  6. Способ первый. От Microsoft
  7. Способ второй, почти взрослый
  8. Способ третий. AutoIT
  9. Устанавливаем свою службу в windows xp, 7, 8, 10
  10. Как запустить приложение в виде службы Windows
  11. Создание службы
  12. Управление службой
  13. Удаление службы
  14. Запуск службы в интерактивном режиме
  15. Создание службы в Windows 10
  16. Создание службы с помощью программы Sc.exe
  17. С помощью утилиты PowerShell

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

Наверняка, многие сталкивались с ситуацией, когда есть необходимость запускать программу до входа пользователя в систему, но в установщике программы нет опции «Установить в качестве службы».

Установка программы в качестве службы

Первые 4 пункта понадобятся лишь в windows 8.1

1 Вызовите боковую панель Windows 8.1. Для этого можно использовать комбинацию клавиш WIN+C.

2 Выберите Поиск:

install as service 021

3 В поле поиска введите командная строка. В списке появится позиция Командная строка с системной иконкой.

Нажмите по ней правой кнопкой мыши:

install as service 022

4 Выберите Запуск от имени администратора:

install as service 023

5 Нажмите Да:

install as service 024

6 В командной строке введите путь к программе, которую вы хотите установить в качестве службы, с ключом /installservice и нажать ENTER. Путь необходимо взять в кавычки.

После нажатия на ENTER ответьте «Да» на запрос службы контроля учётных записей:

install as service 031

7 Если программа запросит учётные данные для запуска, как в нашем примере, введите реквизиты учётной записи администратора и нажмите ОК:

install as service 032

Далее, программа, которую вы установили в качестве службы, сообщит вам об успешной установке службы.

У каждой программы это окно будет разным

install as service 033

Зайдите в службы (Выполнить — services.mcs — ENTER) и проверьте, что в списке присутствует только что установленная служба:

install as service 034

Удаление службы

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

Источник

Пилим свою службу Windows – руководство для «не настоящих программистов»

j3j57big8bze9751j7 frrcjc7q

Однажды вы задумаетесь, как превратить скрипт или приложение в Windows-службу. Скорее всего, задача окажется не такой уж тривиальной – приложению как минимум потребуется специальный интерфейс для получения команд от системы. А раз есть требования и ограничения, то есть и скрипты, и милые сердцу костылики для преодоления.

Статья будет полезна тем, кто, как и я — «программист не настоящий».

Зачем нужна служба, если есть назначенные задания

В отличие от назначенных заданий служба работает постоянно, запускается при старте ПК и может управляться средствами Windows. А еще регулярно запускаемому скрипту могут понадобиться данные с предыдущего запуска, и может быть полезно получение данных из внешних источников — например, в случае TCP или Web сервера.

Лично мне за последние пять лет приходилось создавать службу три с половиной раза:

Для создания службы можно использовать взрослые языки программирования вроде C. Но если вы не хотите связываться с Visual Studio, то возьмите готовые утилиты. Существуют платные решения вроде FireDaemon Pro или AlwaysUp, но мы традиционно сосредоточимся на бесплатных.

Способ первый. От Microsoft

Этот уже немолодой механизм состоит из двух компонентов: утилиты instsrv.exe для установки сервиса и srvany.exe — процесса для запуска любых исполняемых файлов. Предположим, что мы создали веб-сервер на PowerShell при помощи модуля Polaris. Скрипт будет предельно прост:


Работа так называемого «сервера».

Теперь попробуем превратить скрипт в службу. Для этого скачаем Windows Resource Kit Tools, где будут наши утилиты. Начнем с того, что установим пустой сервис командой:

Где WebServ — имя нашего нового сервиса. При необходимости через оснастку services.msc можно задать пользователя, под которым будет запускаться служба, и разрешить взаимодействие с рабочим столом.

Теперь пропишем путь к нашему скрипту при помощи магии реестра. Параметры службы есть в разделе реестра HKLMSYSTEMCurrentControlSetServicesWebServ. В нем нам нужно добавить новый раздел Parameters и создать там строковый параметр Application, указав в нем путь к исполняемому файлу. В случае скрипта PowerShell он будет выглядеть так:

2c9azwf tlvz6cs2ez4jlw7pl58
Настроенная служба.

Можно запустить и радоваться.

4jqhkdbgssb6gv8el qpnfn4wea
Работающая служба.

Однако у этого способа есть недостатки:

Поэтому перейдем к методу, частично лишенному этих проблем.

Способ второй, почти взрослый

Существует утилита под названием NSSM — Non-Sucking Service Manager, что можно перевести как не-плохой менеджер служб. В отличие от предыдущей, она поддерживается разработчиком, и исходный код опубликован на сайте. Помимо обычного способа, доступна и установка через пакетный менеджер Chocolately.

Создать сервис можно из обычной командной строки, вооружившись документацией на сайте разработчика. Но мы воспользуемся PowerShell. Потому что можем, разумеется.


Установка через PowerShell.

Для разнообразия проверим работу службы не браузером, а тоже через PowerShell командой Invoke-RestMethod.

image loader
И вправду работает.

В отличие от srvany, этот метод позволяет перезапускать приложение на старте, перенаправлять stdin и stdout и многое другое. В частности, если не хочется писать команды в командную строку, то достаточно запустить GUI и ввести необходимые параметры через удобный интерфейс.

GUI запускается командой:


Настроить можно даже приоритет и использование ядер процессора.

Действительно, возможностей куда больше, чем у srvany и ряда других аналогов. Из минусов бросается в глаза недостаточный контроль над всем процессом.

Налицо нехватка «жести». Поэтому я перейду к самому хардкорному методу из всех опробованных.

Способ третий. AutoIT

Поскольку я давний любитель этого скриптового языка, то не смог пройти мимо библиотеки под названием _Services_UDF v4. Она снабжена богатой документацией и примерами, поэтому под спойлером сразу приведу полный текст получившегося скрипта.

Итак, попробуем «завернуть» в нее наш веб-сервис:

Разберу подробнее момент запуска приложения. Он начинается после операции $bServiceRunning = True и превращается в, казалось бы, бесконечный цикл. На самом деле этот процесс прервется, как только служба получит сигнал о завершении — будь то выход из системы или остановка вручную.

Поскольку программа для скрипта является внешней (powershell.exe), то после выхода из цикла нам нужно закончить ее работу с помощью ProcessClose.

Для этого скрипт необходимо скомпилировать в .exe, а затем установить службу, запустив exe с ключом -i.


Оно работает!

Разумеется, этот способ не самый удобный, и все дополнительные возможности придется реализовывать самостоятельно, будь то повторный запуск приложения при сбое или ротация логов. Но зато он дает полный контроль над происходящим. Да и сделать в итоге можно куда больше — от уведомления в Telegram о сбое службы до IPC-взаимодействия с другими программами. И вдобавок — на скриптовом языке, без установки и изучения Visual Studio.

Расскажите, а вам приходилось превращать скрипты и приложения в службы?

Источник

Устанавливаем свою службу в windows xp, 7, 8, 10

В этой маленькой статье я попытаюсь рассказать как добавить свою службу в операционной системе Windows.
И так для начала нам понадобится программа nssm (ссылка для скачивания) именно эта программа умеет добавлять службы, однако у неё есть недостатки: запуск службы происходит непосредственно через неё то есть мы должны будем постоянно держать ее включенной (хотя она потребляет небольшое количество оперативной памяти). В то же время именно эта особенность позволяет ей запускать практически любые программы в качестве службы (у большинства программ отсутствует поддержка их запуска в качестве службы).
Для начала скачаем саму программу с официального сайта.
Распаковываем архив и перемещаем программу nssm.exe (просто копируем бинарник в зависимости от того какой у вас Windows 32 или 64 бит, 32 битную можно использовать в обоих случаях) какую-нибудь постоянную директорию откуда мы ещё и будем запускать, например я помещу в директорию C:Program Files (x86)nssmnssm.exe
От этой директории будут зависеть все последующие команды.
Теперь нам нужно запустить командную строку, быстро это можно сделать так: Win + R и набрать cmd после чего нажать клавишу Enter.
Теперь в командной строке вводим:

Программа попросит у нас права администратора для установки службы и появится окошко для указания название службы (Service name) и пути к программе (Path) и другие настройки если они вам нужны. После указания название службы и пути к программе нажимаем кнопку Install service, и у нас должно быть появится окошко подтверждающие что служба установлена в противном случае будет написано ошибка и причина которой она вызвана.

Источник

Как запустить приложение в виде службы Windows

Можно ли запустить клиентское приложение в качестве службы? В одной из статей я описывал способы создания службы Windows штатными средствами ОС. Однако не каждое консольное приложение сможет запуститься как служба, а программы с графическим интерфейсом в принципе не умеют работать подобным образом. Но возможность запустить приложение как службу все же есть, и поможет нам в этом программа с оригинальным названием Non-Sucking Service Manager.

NSSM представляет из себя свободное программное обеспечение с открытым кодом и поддерживает все операционные системы Microsoft, начиная с Windows 2000 и заканчивая Windows 8. NSSM не требует установки, достаточно его загрузить и распаковать. В дистрибутив входят версии для 32- и 64-разрядных ОС. Взять программу можно с сайта nssm.cc, на данный момент последняя стабильная версия 2.21.1, которую я и буду использовать.

Для демонстрации возможностей NSSM попробуем запустить Блокнот Windows в качестве службы на Windows 8.1.

Создание службы

nssm1

Также на этапе создания новой службы можно указать некоторые дополнительные параметры.

На вкладке «Shutdown» перечислены методы остановки и таймауты, используемые при штатном завершении работы или аварийной остановке приложения. Когда NSSM получает команду остановки (напр. при завершении работы приложения), то он пытается остановить контролируемое приложение штатным образом. Если же приложение не отвечает, то NSSM может принудительно завершить все процессы и подпроцессы этого приложения.

Всего есть четыре этапа завершения работы приложения, и по умолчанию они будет использоваться в таком порядке:

• На первом этапе NSSM пытается сгенерировать и отправить событие Ctrl+C. Этот способ хорошо работает для консольных приложений или скриптов, но не применим для графических приложений;
• Затем NSSM определяет все окна, созданные приложением, и посылает им сообщение WM_CLOSE, инициирующее выход из приложения;
• Третьим этапом NSSM вычисляет все потоки, созданные приложением, и отправляет им сообщение WM_QUIT, которое будет получено если приложение имеет очередь сообщений потока;
• И в качестве последнего средства NSSM может вызвать метод TerminateProcess(), принудительно завершив работу приложения.

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

nssm2

По умолчанию при падении службы NSSM пытается рестартовать ее. На вкладке «Exit actions» можно изменить автоматическое действие при нештатном завершении работы приложения, а также выставить задержку перед автоматическим перезапуском приложения.

nssm3

На вкладке «Input/Output (I/O)» можно задать перенаправление вводавывода приложения в указанный файл.

nssm4

На вкладке «Environment» можно задать для службы новые переменные окружения, или переопределить существующие.

nssm5

Также можно не пользоваться графической оболочкой и сразу создать службу в консоли такой командой:

nssm install notepad ″C:Windowssystem32notepad.exe″

Управление службой

После создания службы с помощью NSSM зайдем в оснастку Services и найдем службу notepad. Как видите, с виду она ничем не отличается от остальных служб, мы также можем ее запустить, остановить или изменить режим запуска. Однако обратите внимание, что в качестве исполняемого файла указан nssm.exe.

nssm6

А если зайти в Task Manager, то мы увидим следующую картину: в качестве основного (родительского) процесса запущен NSSM, служба notepad запущена как его дочерний процесс, и уже в этом дочернем процессе запущено приложение Блокнот.

nssm7

Удаление службы

nssm8

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

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

Для того, чтобы запустить службу в интерактивном режиме, надо в оснастке Службы открыть ее свойства и на вкладке «Вход в систему» отметить чекбокс «Разрешить взаимодействие с рабочим столом».

nssm9

А дальше начинаются чудеса 🙂 Cлужба, запущенная в интерактивном режиме, открывается в изолированном сеансе (session 0). Попасть в этот сеанс можно только при помощи Службы обнаружения интерактивных служб (ui0detect), которая отслеживает запуск интерактивных служб на компьютере и выдает оповещение. В Windows 7Server 2008 эта служба активна по умолчанию, а в Windows 8Server 2012 она отключена и не отображается в графической оснастке Службы (по крайней мере я ее там не нашел). Более того, если вы все же найдете эту таинственную службу и попробуете ее запустить, то получите сообщение об ошибке.

А дело в том, что для ее запуска необходимо разрешить запуск интерактивных служб на компьютере. Поэтому открываем редактор реестра, находим в разделе HKLMSystemCurrentControlSetControlWindows параметр типа DWORD с именем NoInteractiveServices и ставим его значение в .

nssm10

После чего открываем консоль PowerShell и стартуем службу обнаружения командой:

nssm11

Убедившись что служба обнаружения запущена, рестартуем службу notepad, и получаем вот такое окошко. Выбираем пункт «Посмотреть сообщение»

nssm12

и попадаем в нулевой сеанс, в котором работает наше приложение. Дальше производим с ним необходимые действия и возвращаемся обратно.

nssm13

Такое вот интересное решение для запуска приложений в виде служб Windows. Не самое красивое, но вполне соответствующее своему названию 🙂

Источник

Создание службы в Windows 10

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

Создание службы с помощью программы Sc.exe

Первый способ позволяет создавать службы, используя утилиты, работающие через командную строку. В данном случае, используется инструмент sc.exe. Он позволяет взаимодействовать с функциями API и выполнять операции со службами Windows 10. Несмотря на то, что данная программа даже не обладает графическим интерфейсом, она является мощным инструментом и может контролировать состояние служб, создавать, редактировать и управлять ими.
Если создавать службу, с помощью sc.exe, то не возникает необходимости в изменении параметров реестра и списка служб в диспетчере. Кроме того, утилита способна работать со службами на локальном компьютере, и выполнять те же действия на удаленных машинах.
Чтобы создать новый сервис, откройте командную строку от имени администратора и запустите команду «Sc create». Она запишет новую службу к базе диспетчера служб. Синтаксис команды представлен следующим образом:

Чтобы было понятнее, в качестве примера, мы создадим службу «MySevice». При этом, отображаемое имя будет «My New Service». Указываем тип службы и включаем автозапуск:

Sc create MyService binPath=C:MyServiceMyService.exe DisplayName=″My New Service″ type=own start=auto

Теперь откройте оснастку «Services» и взгляните на то, что получилось:

sozdanie sluzhby v windows 10 1

Параметры службы, которая уже была создана и запущена, можно изменить при помощи команды Sc config. К примеру, мы заменим имя службы, которое отображается как:

Sc config MyService DisplayName=″My Service″

А еще можно избавиться от службы полным ее удалением. Для этого используйте такую команду:

sozdanie sluzhby v windows 10 2

С помощью утилиты PowerShell

sozdanie sluzhby v windows 10 3

Если не считать дополнительную возможность добавления описаний к службам, PowerShell обладает таким же функционалом, как и утилита Sc.exe. Но есть один маленький минус — здесь нет простой команды для удаления службы. Поэтому приходиться использовать такой вот, немного мудреный, код:

Источник

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

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

СВЯЗАННЫЕ: Понимание и управление службами Windows

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

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

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

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

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

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

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

aas_4

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

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

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



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


Службы Windows

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

это действительно больше не нужно

.

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


СВЯЗАННЫЕ С:




Понимание и управление службами Windows


Прекрасным примером этого является

Plex

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

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

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

    Папка автозагрузки

    , чтобы вы могли удалить их там.

Готовы катиться? Поговорим о том, как это настроить.

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

Чтобы запустить приложение как услугу, вам понадобится небольшая сторонняя утилита. Их несколько, но наш любимый —

SrvStart

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

Для начала перейдите в

Страница загрузки SrvStart

и возьмите утилиту. Скачивание содержит всего четыре файла (два DLL и два EXE-файла). Установщика нет; вместо этого скопируйте их на свой компьютер

C: Windows

вложите их в основную папку Windows, чтобы «установить» SrvStart.



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

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

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

страница документации

. В этом примере мы будем использовать только две команды:

запускать

, который указывает программу для запуска, и

shutdown_method

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

Запустите Блокнот и создайте файл конфигурации, используя формат, указанный ниже. Здесь мы используем Plex, но вы можете создать файл для любой программы, которую хотите запустить как службу. В

запускать

команда просто указывает путь, по которому находится исполняемый файл. Для

shutdown_method

команда, мы используем

сообщение

Параметр, который заставляет 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), выбрав «Командная строка (администратор)», а затем щелкнув Да, чтобы разрешить запуск с правами администратора.



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

SC CREATE <servicename> Displayname = "<servicename>" binpath = "srvstart.exe <servicename> -c <путь к файлу конфигурации srvstart>" start = <starttype>

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

<servicename>

ценность полностью зависит от вас. И, наконец, для

<тип запуска>

значение, вы хотите использовать

авто

так что служба запускается автоматически с 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 вы можете сделать гораздо больше, чтобы точно настроить работу службы. Обязательно ознакомьтесь с документацией, если хотите узнать больше.

How To Run Any Program As A Background Service In Windows

How To Run Any Program As A Background Service In Windows

Run Python Programs In Background As Windows Service

How To Run Memcached As A Windows Service

How To Run Background Processes On Windows

How To Disable Running Background Programs In Windows

How To Disable Background Services In Windows 10

How To Create A Windows Service Using Exe File

How To Run Python File In Background Mac/Linux/Windows Secretly

Remove Programs Running In The Background In Windows 7

Stop Windows 10 Apps From Running In The Background

How To Enable Or Disable Background Apps In Windows 10

Close/stop Programs Running In Background — Windows 7

Disable Programs Running In The Background In Windows | HP Computers | HP

Background Tasks Without A Separate Service: Hangfire For ASP.NET

How To Stop Running Background Apps In Windows 8 (updated)

How To Stop Universal Windows Platform Apps From Running In Background | Windows 10 Tutorial

C# Tutorial — How To Make An Application Auto Run On Windows Startup | FoxLearn

Intro To Windows Services In C# — How To Create, Install, And Use A Service Using Topshelf

Понравилась статья? Поделить с друзьями:
  • Запуск приложения без прав администратора windows 10
  • Запуск приложений настроенных для windows hotstart
  • Запуск приложений в безопасном режиме windows 10
  • Запуск приложений windows на astra linux
  • Запуск от имени другого пользователя windows 10 cmd