25 июня 2014 г.

RunAsService (Запуск программ в качестве служб)

Данная программа, вернее — служба, позволяет запускать обычные программы в служебном пространстве. Где такое может понадобиться? Служебные программы (службы) остаются запущенными после выхода пользователя из системы, система также может их автоматически запустить после очередного перезапуска компьютера.

Пример. Сервер TeamSpeak (версия 2, или 3.0 beta) не работают в служебном порядке. Хочется запустить сервер на каком-нибудь VDS в датацентре и что-бы он всегда работал. Так вот при выходе из удаленного рабочего стола, все пользовательские приложения закрываются, включая и наш любимый сервер. Благо при запуске сервера он сразу начинает работать, его можно запустить и как службу при помощи RunAsService.
Настройка. После установки службы, зайдите в папку куда установилась программа (напр. C:\Program Files (x86)\Crypton Technologies\RunAsService). В папке лежит файл настроек — config.ini. Рассмотрим все по порядку:
  • exec= — Настраиваем полный путь к запускаемому приложению. Тоесть к примеру exec=C:\Windows\system32\cmd.exe для запуска командной строки
  • cmd= — Настройка командных аргументов, посылаемых программе. К примеру если нам нужно запустить cmd.exe -k, то сюда пишем cmd=-k
  • waitforexit= — При остановки службы, посылается мягкий запрос приложению (типа нажатием мышки на Х в правом-верхнем углу окна) и служба ждет пока оно закроется. Если после n-секунд, заданных в waitforexit, программа не завершилась, то процесс закрывается собственноручно. По-умолчанию, 20 секунд.
  • sterr= — перенаправление информации выдаваемой через stderr в файл. Пишем имя файла куда будет переноситься информация
  • stout= — перенаправление информации выдаваемой через stdout в файл.
Хозяйке на заметку. При завершении программы, служба RunAsService останавливается автоматически. Также можно настроить автоматический перезапуск службы (Вкладка Восстановление в редакторе служб services.msc).
По умолчанию, служба работает с системными привилегиями.
Также службу можно запускать по командной строке:  net stop ras, net start ras
Устранение проблем запуска. Если при запуске службы возникают ошибки, загляните в просмотр событий (eventvwr.msc), вкладка Приложение. Источник — ras. Текст ошибки на русском. Если не понимаете, спросите отправив письмо на эл. почту внизу страницы.
СкачатьРусская версияАнглийская версия.

Ярлыки:

Комментарии: 0:

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

Коммент

Подпишитесь на каналы Комментарии к сообщению [Atom]

<< Главная страница