Anyservice: различия между версиями

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
 
Строка 1: Строка 1:
#redirect [[Запуск сервиса под пользователем]]
Anyservice - скрипт на bash позволяющий превратить программу в сервис. Настраивается аналогично systemd, работает на systemv.
 
[http://git.etersoft.ru/people/danil/packages/?p=anyservice.git; anyservice.git]
 
<pre>
Пример использования:
 
0) Скачиваем скрипт:
#wget "http://git.etersoft.ru/people/danil/packages/?p=anyservice.git;a=blob_plain;f=anyservice.sh" -O anyservice && mv -u anyservice /usr/bin/anyservice && chmod 755 /usr/bin/anyservice
 
1) Редактируем файл настроек systemd:
/etc/systemd-lite/mysleep.service
[Unit]
Description=run test sleep
 
[Service]
Type=simple
PIDFile=/var/run/odoo.pid
User=lav
WorkingDirectory=/home/lav/odoo/
ExecStart=/home/lav/odoo/odoo.py
Restart=always
 
[Install]
WantedBy=multi-user.target
 
#сейчас это все поддерживаемые опции
 
2) Запускаем скрипт
# anyservice mysleep start
 
3) Доступные команды
# anyservice.sh <service file name> [start|stop|restart|status]
</pre>
 
==== Описание работы скрипта ====
 
# Разбор конфига systemd
# Создание конфига для monit
# Запуск требуемого процесса через monit, используется start-stop-daemon
 
=== Планы ===
* Включить в epm
 
=== Ссылки ===
* [[Запуск сервиса под пользователем]] - описание решаемой проблемы
*
 
 
=== Другие решения, не связанные с /sbin/init ===
* [http://supervisord.org/ Supervisor: A Process Control System]
* [http://proft.me/2011/05/28/supervisor-kaznit-nelzya-pomilovat/ Описание supervisor на русском]
* [http://www.freedesktop.org/software/systemd/man/systemd.service.html Описание systemd.service]
* [https://sourceforge.net/projects/anyservice/ Проект с таким же названием и целью для win] [http://www.pokalnetov.ru/windows/any-service-%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D1%8B-%D0%B8%D0%B7-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/ Описание] [http://anyservice.cvs.sourceforge.net/viewvc/anyservice/SourceForge/AnyService.cpp?revision=1.2&content-type=text%2Fplain код]

Версия 15:45, 2 марта 2015

Anyservice - скрипт на bash позволяющий превратить программу в сервис. Настраивается аналогично systemd, работает на systemv.

anyservice.git

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

0) Скачиваем скрипт:
#wget "http://git.etersoft.ru/people/danil/packages/?p=anyservice.git;a=blob_plain;f=anyservice.sh" -O anyservice && mv -u anyservice /usr/bin/anyservice && chmod 755 /usr/bin/anyservice

1) Редактируем файл настроек systemd:
/etc/systemd-lite/mysleep.service
[Unit]
Description=run test sleep

[Service]
Type=simple
PIDFile=/var/run/odoo.pid
User=lav
WorkingDirectory=/home/lav/odoo/
ExecStart=/home/lav/odoo/odoo.py
Restart=always

[Install]
WantedBy=multi-user.target

#сейчас это все поддерживаемые опции

2) Запускаем скрипт
# anyservice mysleep start

3) Доступные команды
# anyservice.sh <service file name> [start|stop|restart|status]

Описание работы скрипта

  1. Разбор конфига systemd
  2. Создание конфига для monit
  3. Запуск требуемого процесса через monit, используется start-stop-daemon

Планы

  • Включить в epm

Ссылки


Другие решения, не связанные с /sbin/init