![Как добавить собственные демоны в Arch Linux? (BSD-style init)](https://rvso.com/image/23959/%D0%9A%D0%B0%D0%BA%20%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%B8%D1%82%D1%8C%20%D1%81%D0%BE%D0%B1%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%B4%D0%B5%D0%BC%D0%BE%D0%BD%D1%8B%20%D0%B2%20Arch%20Linux%3F%20(BSD-style%20init).png)
Я создал символическую ссылку на скрипт bash-обертки start/stop/etc. в /etc/rc.d
, добавил ее DAEMONS=()
в rc.conf, но процесс, на который она указывает, не запускается при загрузке и не отображается в выводе $ rc.d list
. Погуглив, я увидел упоминание о update-rc.d
, но, похоже, эта команда недоступна в Arch Linux. Как правильно добавить общесистемный демон (т. е. без использования rc.local
), который можно использовать так же, как и по умолчанию?
решение1
Что делает update-rc.d с Arch? Это для дистрибутивов на базе Debian.
Пример скрипта, поместите его в /etc/rc.d/XX и сделайте его исполняемым, и отредактируйте /etc/rc.conf, поместите имя службы в массив DAEMONS
#!/bin/sh
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
stop)
stat_busy "Stopping XX"
command_to_exec && rm_daemon XX && stat_done || stat_fail
;;
start)
stat_busy "Starting XXX"
command_to_exec && add_daemon XX && stat_done || stat_fail
;;
esac
exit 0
Если вы не видите демон в списке, вы, вероятно, пропустили add_daemon
функцию.