студия открытых решений о-никс
<< Перечитать rc.conf Русификация FreeBSD >>

Автозапуск во FreeBSD

Для того, чтобы ваши нестандартные (сторонние) сервисы автоматически запускались во FreeBSD при её загрузке (автостарт, или автозапуск приложения), достаточно разместить простой скрипт запуска вашего приложения (программы, демона или утилиты) в следующем стандартном каталоге операционной системы:

/usr/local/etc/rc.d/

Сам скрипт в минимальном исполнении должен поддерживать команды запуска и остановки start и stop. Например, у вас есть приложение /usr/local/bin/prog. Создадим скрипт prog.sh в стандартном каталоге /usr/local/etc/rc.d/prog.sh

#!/bin/sh

    case "$1" in

    start)
            /usr/local/bin/prog
            ;;
    stop)
            kill -9 `cat /var/run/prog.pid`
            ;;
    *)
            echo " Usage: `basename $0` {start|stop}" >&2
            exit 64
            ;;
    esac

exit 0

Зададим скрипту автостарта права на выполнение:

chmod +x /usr/local/etc/rc.d/prog.sh

Теперь при загрузке системы FreeBSD скрипт автозапуска будет стартовать ваше приложение, а при выключении - останавливать.

Кроме того, приложение можно останавливать и стартовать через скрипт автостарта из консоли:

/usr/local/etc/rc.d/prog.sh stop

/usr/local/etc/rc.d/prog.sh start

В скрипте в строке запуска сервиса можно так же использовать его параметры. Например, если требуется указание конфигурационного файла prog.conf, то скрипт будет следующим:

#!/bin/sh

case "$1" in

start)
/usr/local/dsc/bin/prog /usr/local/dsc/etc/prog.conf
;;
stop)
kill -9 `cat /var/run/prog.pid`
;;
*)
echo " Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac

exit 0

 

Такие скрипты будут корректно запускать дополнительные службы и приложения при загрузке системы FreeBSD, и корректно останавливать их при выключении системы

<< Перечитать rc.conf Русификация FreeBSD >>

Поделиться в соцсетях:

система комментирования CACKLE
RSS