START-STOP-DAEMON¶
НАЗВАНИЕ¶
start-stop-daemon - обеспечение запуска и остановки демонов
СИНТАКСИС¶
start-stop-daemon -S , -start демон [--] [аргументы ] start-stop-daemon -K , -stop демон start-stop-daemon -s , -signal signal демон
ОПИСАНИЕ¶
Утилита start-stop-daemon обеспечивает надежный метод запуска и остановки демонов, а также передачи им сигнала. Если не используется ни опция -K , -stop, ни -s , -signal, подразумевается, что демон необходимо запустить. Если демон не запускается самостоятельно в фоновом режиме и не создает файл идентификатора процесса, это может безопасно выполнить start-stop-daemon.
Если start-stop-daemon используется для той или иной службы OpenRC, OpenRC может проверить, работает ли демон. Если нет, то служба помечается как аварийно остановленная.
Ниже приводятся опции, служащие для указания демона и способа его запуска или остановки:
-x , -exec демон
Запускаемый или останавливаемый демон. Если эта опция не указана, то будет использован первый аргумент вне опций.
-p , -pidfile файл идентификатора процесса
При запуске демона он за разумное время должен создать рабочий файл идентификатора процесса. При остановке будут остановлены только процессы, перечисленные в файле идентификатора.
-n , -name имя
Определяет демон по имени процесса, а не по файлу идентификатора или по имени исполняемого файла.
-i , -interpreted
При выборе процесса по имени необходимо убедиться, что ему соответствует подходящий интерпретатор. Как только, например, запускается демон foo, start-stop-daemon ищет процесс. Если интерпретируемый демон изменяет свое имя процесса, это не будет работать.
-u , -user пользователь [:группа ]
Запускает демон от пользователя и соответственно обновляет значение $HOME или останавливает демоны, принадлежащие пользователю. При желании вы можете добавить и группу.
-t , -test
Только отображает сведения о действии/-ях, которые должны быть выполнены, ничего не делая. Возвращается то же значение, что и в случае действительно запуска и отработки команды.
-v , -verbose
Отображает сведения о действии/-ях непосредственно перед его/их выполнением.
-P , -progress
Отображает ход выполнения в консоли: одна точка обозначает секунду ожидания.
Следующие опции используются только при запуске демонов:
-a , -startas имя
Заменяет имя процесса демона на указанное имя. Это заменит лишь первый аргумент, передаваемый демону.
-b , -background
Принудительно запускает демон в фоновом режиме. Некоторые демоны не создают идентификационных файлов - их удобно запускать в фоне и использовать эту опцию в связке с -m , -make-pidfile для создания рабочего файла идентификатора.
-d , -chdir путь
Перед запуском демона изменяет рабочий каталог на указанный.
-r , -chroot путь
Перед запуском демона выполняет chroot в каталоге по указанному пути. Другие пути, например, путь доступа к демону, адрес нового корневого каталога root и файла идентификатора процесса, должны быть относительными к chroot.
-c , -chuid пользователь
Аналогично опции -u , -user.
-e , -env VAR=VALUE
Присваивает переменной окружения VAR значение VALUE.
-g , -group группа
Запускает демон в группе.
-k , -umask режим
Задает маску файла демона.
-m , -make-pidfile
Сохраняет идентификатор процесса демона в файле, указанном в опции -p, -pidfile. Имеет смысл только применительно к демонам, запущенным в основном режиме, которые принудительно переводятся в фоновый режим опцией --b, -background.
-I , -ionice класс [:данные ]
Изменяет приоритет ввода-вывода для демона. Аргумент класс может иметь значение 0 - нет, 1 - real time (приоритетный доступ), 2 - best effort (приоритет определяется планировщиком) и 3 - idle ( доступ только тогда, когда другие процессы не требуют ввода/вывода). Аргумент данные может принимать значения от 0 до 7 включительно.
-N , -nice уровень
Изменяет приоритет запуска демона.
-1 , -stdout журнал
При запуске с опцией -background перенаправляет стандартный вывод процесса в журнал. В качестве аргумента необходимо указывать абсолютный путь доступа к файлу, но относительный к пути, опционально заданному опцией -r , -chroot. Журнал может быть и именованным каналом.
-w , -wait время
После запуска ожидать указанное время (в миллисекундах), затем проверить, продолжает ли демон работу. Эта опция удобна для демонов, которые проверяют конфигурацию после ветвления или устранения "гонок", когда файл идентификатора записывается после ветвления процесса.
-2 , -stderr журнал
Эта опция аналогична -1, -stdout, но со стандартным выводом ошибок.
Следующие опции используются только для остановки демонов:
-R , -retry пауза | сигнал / пауза
Вы можете указать либо продолжительность паузы в секундах, либо несколько пар сигнал/пауза для расписания остановки демонов. Если опция не задана, будет использовано значение по умолчанию SIGTERM/5.
ОКРУЖЕНИЕ¶
С помощью переменной_SSD_NICELEVEL_ также можно устанавливать очередь запуска демонов, но приоритет будет иметь опция в командной строке.
Переменная SSD_STARTWAIT аналогична опции -w, -wait, описанной выше. /etc/rc.conf, start-stop-daemon ожидает проверки, продолжает ли демон работу.
ПРИМЕЧАНИЕ¶
Для синтаксического анализа опций start-stop-daemon использует getopt(3): этот инструмент позволяет принимать опцию с префиксом `--', останавливая обработку текущих опций на данном этапе. Все последующие аргументы передаются демону, который запускает соответствующие службы, и используются при обнаружении демона, который необходимо остановить или которому необходимо передать сигнал.
СМ. ТАКЖЕ¶
chdir(2), chroot(2), getopt(3), nice(2), rc_find_pids(3)
ОШИБКИ¶
Не обращаясь к файлу идентификатора процесса, start-stop-daemon не может остановить интерпретируемый демон, который уже не существует.
ИСТОРИЯ¶
Впервые start-stop-daemon был использован в Debian.
Настоящая реализация стала результатом полной переработки изначальной версии: процесс ищет код в библиотеке OpenRC (librc, -lrc), чтобы к нему могли обращаться другие программы.
АВТОРЫ¶
- Roy Marples <roy@marples.name>
ПЕРЕВОД¶
- Елена Гаврилова <e.vl.gavrilova@yandex.ru>