Russia, Ivanovo
adv@devetime.ru

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

Рано или поздно, у простого пользователя или прожженого сисадмина возникает такая ситуация как: «Превратить программу в службу». Зачем это нужно, и в чем отличие. Если сильно не вдаваться в подробности то слушайте. Служба — это такое приложение , которое автоматически запускается при старте 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

 

share post :

Отправить ответ

avatar
  Подписаться  
Уведомление о