Каков канонический способ запуска демона в скрипте инициализации rhel / centos-6?

11

Я нашел много хорошей документации для start-stop-daemon в Ubuntu, и есть справочная страница для двоичного файла daemon.

Но из того, что я могу сказать, канонический способ запуска демона в скрипте rhel / centos - это источник, а /etc/init.d/functionsзатем использование daemon()функции. Но я не могу найти хороших примеров или документации.

Каков канонический способ запуска демона в скрипте инициализации rhel / centos-6?

моя первая попытка была:

#!/bin/bash
source /etc/init.d/functions
daemon --user USER nohup /path/to/your/binary arg1 arg2 >/dev/null 2>&1 &
Тревор Бойд Смит
источник
@ Кристофер Я обновил вопрос (не systemd)
Тревор Бойд Смит

Ответы:

10

Документация и пример, который вы ищете, находятся /usr/share/doc/initscripts-*/sysvinitfilesна CentOS / RHEL. Вот документация для daemonфункции конкретно:

daemon [--check] [--user] [+/- nicelevel] программа [arguments] [&]

    Starts a daemon, if it is not already running.  Does
    other useful things like keeping the daemon from dumping
    core if it terminates unexpectedly.

    --check <name>:
       Check that <name> is running, as opposed to simply the
       first argument passed to daemon().
    --user <username>:
       Run command as user <username>

В CentOS / RHEL 6 у вас также есть возможность использовать файл задания upstart вместо написания сценария инициализации sysv.

jordanm
источник
1
Это именно то, что я искал: 1. настоящая документация 2. руководство о том, должен ли я добавлять &в конце строки или нет (есть другие подобные команды демона, которые выполняют &фоновую операцию для вас)
Тревор Бойд Смит