yaourt -S runitПодробности под катом.
Для управления сервисами нужно создать каталоги с их именами, содержащие как минимум исполняемые файлы run:
/etc/runit/runsvdir/all/ service1/ run service2/ runПредполагается такая схема работы: в /etc/runit/runsvdir/all/ хранятся все описания сервисов. В /etc/runit/runsvdir/current/ находятся символические ссылки из предыдущей директории, которые показывают, какими именно сервисами будет управлять runit.
Пример:
Создаем сервис hgweb для отображения списка Mercurial-репозиториев через HTTP:
mkdir /etc/runit/runsvdir/all/hgwebПишем скрипт для запуска /etc/runit/runsvdir/all/hgweb/run:
#!/bin/sh exec 2>&1 exec /usr/bin/spawn-fcgi -n -s /tmp/hg.sock -u hgweb-user -U http-server-user -- /path/to/executable/hgweb.fcgiСоздаем символическую ссылку на созданную директорию сервиса в /etc/runit/runsvdir/current:
ln -s /etc/runit/runsvdir/all/hgweb/ /etc/runit/runsvdir/current/hgwebДобавляем запуск runsvdir в /etc/rc.local:
bash -c '/sbin/runsvdir -P /etc/runit/runsvdir/current/ &'Для управления сервисами можно использовать программу sv. Например:
sv status hgweb run: hgweb: (pid 3955) 107sОстальные команды можно посмотреть в man sv.
Вот такую картину наблюдаем теперь:
init─┬─6*[agetty] ├─ccpd ├─crond ├─cupsd ├─dhcpcd ├─lighttpd ├─nmbd ├─2*[ntpd] ├─runsvdir─┬─runsv───python───5*[{python}] │ ├─runsv───index_dispatche───5*[{index_dispatch}] │ └─runsv───getinfo_dispatc───5*[{getinfo_dispat}] ├─sadc ├─screen───ventrilo_srv ├─2*[screen───start.h───hlds_run───hlds_i686───2*[{hlds_i686}]] ├─screen───bash───start.sh───cod4_lnxded ├─smbd───2*[smbd] ├─sshd───sshd───sshd───bash───pstree ├─syslog-ng───syslog-ng ├─transmission-da───2*[{transmission-d}] └─udevd───2*[udevd]
Комментариев нет :
Отправить комментарий