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

Службы Windows — запущенные в фоне приложения, которые работают независимо от пользователя компьютера, и управляются непосредственно самой операционной системой. По умолчанию, службами являются строго определенные приложения, однако, ничто не мешает пользователю создать их самому. Выполнить данную задачу можно несколькими способами — с использованием стандартных средств Windows, либо с использованием сторонней программы NSSM.
Входящая в Windows программа SC позволяет легко создавать службы Windows, а так же проводить другие различные с ними манипуляции — удаление, отключение, включение, и т. д. Создается служба достаточно просто, для этого достаточно запустить командную строку от имени администратора, и выполнить там следующую команду:
Удаляется же служба еще проще:
Однако, у данного метода есть один большой существенный недостаток — с помощью данной утилиты создать службу можно только из программы, которая поддерживает работу службой. По этому, запустить какое попало приложение как службу данным способом не получится — но, можно воспользоваться сторонней утилитой NSSM, о которой речь пойдет ниже.
NSSM — программа, предназначенная для создания служб из исполняемых файлов Windows, в том числе и из графических утилит, что ставит её на уровень выше средств от Microsoft. С её помощью можно запускать большинство приложений, даже которые рассчитаны на взаимодействие с пользователем.
Скачать данную программу можно с её официального сайта — nssm.cc.
На случай проблем с официальным сайтом, можно скачать программу с нашего сайта.
В архиве для скачивания можно найти версию для 64-битной версии Windows (папка win64), для 32-битной (папка win32) и исходные коды приложения (папка src). Выбираем нужное приложение под разрядность своей системы, копируем его в удобное для вас место на жестком диске. Никакая установка приложения не требуется.
- Предположим, нужно создать службу для веб-сервера nginx под Windows. Для этого, запускаем командную строку с правами администратора, и переходим в директорию с распакованным исполняемым файлом nssm.exe.
- Затем выполняем команду, начинающую установку службы:
- Откроется окно с настройками создаваемой службы.

На самой первой вкладке «Application«, в строке «Path» задается путь к исполняемому файлу, «Startup Directory» — рабочая директория, а «Arguments» — параметры запуска. В самом низу расположена строка «Service Name«, где задается имя создаваемого сервиса.
На вкладке «Details» можно задать имя, под которым будет отображаться создаваемая служба в списке служб, а так же описание службы, которое будет отображаться там же. В выпадающем списке «Startup Type» можно выбрать тип запуска службы.
Вкладка «Log on» позволяет указать пользователя, под которым будет запускаться служба.Заполним все нужные поля и выбрав нужные настройки, остается только нажать кнопку «Install service«, для установки службы. - После нажатия кнопки «Install service«, служба будет создана, но при этом запустить её нужно будет вручную (либо перезагрузить компьютер, чтобы служба с параметром запуска «Auto» запустилась при его запуске).
NSSM — the Non-Sucking Service Manager
nssm is a service helper which doesn’t suck. srvany and other service helper programs suck because they don’t handle failure of the application running as a service. If you use such a program you may see a service listed as started when in fact the application has died. nssm monitors the running service and will restart it if it dies. With nssm you know that if a service says it’s running, it really is. Alternatively, if your application is well-behaved you can configure nssm to absolve all responsibility for restarting it and let Windows take care of recovery actions.
nssm logs its progress to the system Event Log so you can get some idea of why an application isn’t behaving as it should.
nssm also features a graphical service installation and removal facility. Prior to version 2.19 it did suck. Now it’s quite a bit better.
Nssm.exe что это за процесс?
Привет друганы Расскажу я о процессе nssm.exe, это не особо популярный процесс, но некоторых пользователей он достает своим присутствием в диспетчере задач Покопавшись в интернете, я не нашел ничего вразумительного, непонятно ничего.
Но я начал копать дальше. И вот что нашел, этот процесс nssm.exe, он вроде как относится к такой программе как менеджер служб (как выяснилось это консольная программа). Эта программа может запустить любое ПО как службу. То есть может быть полезная для продвинутого юзера, который понимает что к чему. Но если вы новичок, то вряд ли вам это все будет интересно.
Но покопавшись в интернете еще, я пришел к выводу, что процесс nssm.exe также спокойно может быть трояном или вирусом, которых не видят многие антивирусы. Но думаю что уже видят, просто инфы мало, но она была оставлена уже давно в интернете.
Процесс nssm.exe обычно находится в этой папке:
Но на некоторых сайтах читал, что он может быть и в системных папках типа Windows или System32, а это уже реально подозрительно.
Вот сам процесс и его свойства:

А вот где он находится:

Но посмотрите внимательно, что еще интересно, так это то что процесс находится просто в папке Roaming. Хотя в этой папке как правило должны быть другие папки, в которых проги хранят свои настройки, по крайней мере так было всегда.
Искал еще инфу в интернете и наткнулся на сайт nssm.cc, который скорее всего имеет отношение к nssm.exe процессу. Также есть мнение, что к nssm.exe еще относится и другой засранец, это srvany.exe.
Пошел я на этот сайт и скачал какую-то программу под именем nssm 2.24:

Программа скачалась в архиве zip, внутри которого была папка nssm-2.24, а в ней содержались другие файлы и папки:

Я посмотрел немного, в общем в папке src какие-то файлы, которые явно относятся к языку программирования C++ (скорее всего это какие-то исходники). А в папке win32 и win64 находятся версии процесса nssm.exe для 32 и 64-битных Windows, ну тут вроде понятно немного. Еще есть два файла, это лог-файл и файл README (переводится как прочти меня).
Как я понял, этот файл nssm.exe нужно кинуть в папку system32 и потом можно его использовать из командной строки
На сайте еще есть инфа о том что такое nssm, я ее перевел Гугл-переводчиком, в общем тут тоже не особо понятно о чем именно идет речь:

В общем вот такая ерунда
Ну и как тогда удалить этот nssm.exe?
Если у вас файл nssm.exe находится в папке System32 или Windows — то не трогайте его, скорее всего это не вирус. А если вирус, то его можно удалить антивирусными утилитами, об этом я еще напишу.
Если у вас nssm.exe есть в этой папке:
То можете удалить его, но перед этим завершить в диспетчере задач.
Что-то я ступил и совсем не написал как вообще узнать где находится запущенный процесс. Вот смотрите, открываете вы диспетчере задач и на вкладе Процессы найдите тот же nssm.exe (ну или другой процесс) и нажмите по нему правой кнопкой, выберите Расположение файла:

И потом откроется та папка, откуда он запускается. Ну, то есть понятно надеюсь
Есть у меня для вас еще один трюк. После того как открылась папка, вы можете завершить процесс в диспетчере задач и выделенный файл в папке в переименовать например в:
Теперь этот процесс не запустится. А если запустится, то это ну очень похоже на вирус
Вот еще накопал о том, что процесс nssm.exe спокойно может быть вирусом на самом деле и определятся как Trojan.Win32.Gibi.qg. Еще у некоторых юзеров данный процесс грузит процессор, вот такие дела
Так что в итоге делать?
Ну, верное решение, как мне кажется только одно. Это проверка специальными утилитами как на обычные вирусы и на рекламные (это более доставучие, но не такие опасные). И вот какие утилиты я рекомендую:
-
— хорошо удаляет рекламные вирусы, проверяет реестр, Windows-папки, браузерные папки, умеет анализировать браузерные расширения; — также как и предыдущая утилита, нацелена на рекламные вирусы, но использует немного другие механизмы обнаружения, ничуть не хуже; может находить угрозы даже в куках, это такие данные, которые были оставлены сайтами у вас на компе; находит вирусы и трояны в нормальных программах и удаляет их оттуда; — многим известный сканер, наверно один из лучший в плане универсального решения; проверяет все что можно, удаляет обычные но более опасные вирусы, шпионское и рекламное ПО; скачивается со случайным именем и уже с антивирусными базами;
Вот проверьте этими утилитами свой комп Если они ничего не найдут, то скорее всего у вас вирусов нет.
Все что накопал, все вам написал. Надеюсь что все было полезно, желаю вам удачи
Что за файл nssm.exe?
ЦП даже без открытых программ загружен на 50%, в диспетчере задач написано, что грузит svhost.exe, скачал Process Explorer и обнаружил nssm.exe, который съедает около 40%, прилагаю скрины. Что можно сделать? И как понизить загрузку ЦП?
Вот подробнее.