procmgr_daemon()

Запустить процесс в фоновом режиме

Прототип:

#include <sys/procmgr.h>
int procmgr_daemon( int status,
unsigned flags );

Аргументы:

status
Статус, который возвращается родительскому процессу.
flags
В настоящее время определены (в <sys/procmgr.h>) следующие флаги:
PROCMGR_DAEMON_NOCHDIR
если этот флаг не установлен, procmgr_daemon() изменяет текущую рабочую директорию на корневую «/».
PROCMGR_DAEMON_NOCLOSE
если этот флаг не установлен, procmgr_daemon() закрывает все файловые дескрипторы, кроме файлов стандартных ввода, вывода и ошибок.
PROCMGR_DAEMON_NODEVNULL
если этот флаг не установлен, procmgr_daemon() перенаправляет файлов стандартных ввода, вывода и ошибок в /dev/null.
PROCMGR_DAEMON_KEEPUMASK
если этот флаг не установлен, procmgr_daemon() устанавливает umask в 0 (ноль).

Библиотека:

libc

Описание:

Функция procmgr_daemon() позволяет программам отсоединяться от управляющего терминала и работать в фоновом режиме как системные демоны. Кроме того, функция помещает процесс в сессию 1.

Менеджер высокой готовности (High Availability Manager, HAM) автоматически отслеживает процессы, демонизируемые с помощью procmgr_daemon(), поскольку они находятся в сессии 1.

Аргумент status возвращается родительскому процессу, аналогично вызову exit(); возвращаемое значение обычно равно EXIT_SUCCESS.


Note: Данные в структуре siginfo_t для сигнала SIGCHLD, который получает родитель, в этом случае не имеют значения.

Возвращаемое значение:

Неотрицательное целое число или -1 в случае возникновения ошибки.

Классификация:

ЗОСРВ «Нейтрино»

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

daemon(), exit(), procmgr_event_notify(), procmgr_event_trigger(), procmgr_guardian(), procmgr_session()




Предыдущий раздел: Описание API системной библиотеки