Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.



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

Рубрика: Администрирование Windows
Метки: |
Вторник, 22 ноября 2011 г.
Просмотров: 30914
Подписаться на комментарии по RSS
Полезная информация
Недавно наша компания начала плавный переход части своих задач в облако. В частности мы активно начали использовать концепцию saas от Salesforce.com, в чем нам очень сильно помогли консультанты компания CT Consulting. Проект был признан успешным и активно продолжается.


Если говорить о приложениях очень общими словами они бывают либо непосредственно работающие с пользователем в графическим интерфейсом, либо работают в фоне в виде служб. Иногда возникает необходимость запустить определенное приложение в виде службы, однако в приложении такой возможности не предусмотрено. Как сделать это мы и рассмотрим в данной статье. В качестве примера возьмем программу uTorrent.

Дополнительно требуемое ПО

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

Для этого есть различные методы, однако одним из моих любимых является использование instsrv.exe и srvany.exe.  Данные утилиты являются частью Windows 2003 resource kit, который можно скачать с сайта MS.

  • Скачиваем и устанавливаем Resource Kit в директорию по умолчанию. c:\Program Files (x86)\Windows Resource Kits\Tools\

Подготавливаем аккаунт для службы

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

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

  • Создайте и залогиньтесь в систему под служебным аккаунтом.
  • Запустите приложение и сделайте необходимые изменения – для uTorrent я включаю веб-интерфейс и устанавливаю корректные настройки портов подключения.

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

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

  • Откройте командную строку с правами администратора
  • Введите следующую команду:

C:\>"c:\Program Files (x86)\Windows Resource Kits\Tools\instsrv.exe" uTorrent " c:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe"

  • Вы должны получить сообщение "The service was successfully added!"

В данный момент вы уже создали службу, но ещё не указали что служба должна выполнять.

  • Откройте редактор реестра
  • Перейдите в HKLM\System\CurrentControlSet\Services\
  • Найдите службу, которую вы создали(uTorrent)
  • Создайте новую ветку с именем Parameters
  • В ветке Parameters создайте ключ Application
  • Укажите путь к исполняемому файлу без кавычек

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

Настройка службы

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

  • Откройте консоль управления службами
  • Найдите службу uTorrent
  • На вкладке General укажите режим запуска автоматический 
  • На вкладке Log On tab укажите ранее созданный служебный аккаунт

Если это локальный аккаунт используйте синтаксис .\account если доменный, то domain\account

Тестирование

Для проверки что все работает перезагрузим компьютер. Залогинимся под другим пользователем и проверим следующее:

  • Служба запущена
  • Процесс работает под служебным аккаунтом
  • Приложение работает так, как нами задумано

 

 

Интересное

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

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

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

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

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

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

(обязательно)