Giter Club home page Giter Club logo

init-script-skeleton's Introduction

Как адаптировать шаблон скрипта к нуждам вашего приложения:

1. Задать собственные значения переменным DESC, NAME, DAEMON, PIDFILE.
   Данные переменные используются скриптом 'init-d-script' для запуска службы,
   а также функциями do_startcmd() и do_stop_cmd(), если они, как и в данном примере,
   переопределены пользователем.

2. Задать значение переменной START_ARGS - параметры программы start-stop-daemon -
   утилиты для запуска программ в качестве служб.
   Рекомендуется использовать ключи '--make-pidfile' - создать .pid файл для программы
   и '--background' - перевести программу в фоновый режим, т.к. приложения зачастую
   не умеют переводить себя в фон (detach()) и создавать пид самостоятельно.

3. Задать значения переменных LOGDIR, LOGFILE и DAEMON_ARGS:
   - LOGDIR - каталог, где будет сохранятся лог работы программы (создается при запуске
   в функции do_start_cmd())
   - LOGFILE - имя файла лога, который будет хранится в каталоге LOGDIR
   - DAEMON_ARGS - параметры, ключи запуска ВАШЕЙ программы. (Передаются утилите
   start-stop-daemon при запуске).

4. Модицифировать функцию do_start_cmd() если перед или после запуска программы в качестве службы
   требуется выполнить дополнительные действия.

5. Обратите внимание - в текущей реализации скрипта в функции do_start_cmd() службы запускается
   посредством утилиты start-stop-daemon через интерпретатор bash:
      --startas /bin/bash -- -c "exec ${DAEMON} ${DAEMON_ARGS} > ${LOGFILE} 2>&1"
   это сделано для того, чтобы иметь возможность перенаправить стандартный вывод программы
   в лог файл (штатный способ запуска не позволяет сделать это). При этом службы продолжает
   корректно завершаться при вызове функции 'stop' init-скрипта.

   Если ваше приложение умеет самостоятельно писать данные в лог-файл - используйте стандартную
   форму запуска службы:
      --startas ${DAEMON} -- ${DAEMON_ARGS}
   Укажите при этом имя и расположение лог-файла среди параметров запуска приложения в переменной
   DAEMON_ARGS или в отдельном конфигурационном файле.

Что дальше?

1. Включите полученный init-скрипт в состав deb-пакета вашего приложения

2. При установке расположите init-скрипт в каталоге /etc/init.d

3. Используйте команду systemctl для активации и управления службой:
    systemctl enable cps-tracking

4. Используйте прямой вызов init-скрипта для управления службой:
    /etc/init.d/cps-tracking [start|stop|restart|status]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.