Anyservice: различия между версиями
Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
(Перенаправление на Запуск сервиса под пользователем) |
|||
Строка 1: | Строка 1: | ||
# | 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.
Пример использования: 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]
Описание работы скрипта
- Разбор конфига systemd
- Создание конфига для monit
- Запуск требуемого процесса через monit, используется start-stop-daemon
Планы
- Включить в epm
Ссылки
- Запуск сервиса под пользователем - описание решаемой проблемы