LINUX.ORG.RU
ФорумAdmin

Запуск демонов


0

0

В файле /etc/rc.d/init.d/httpd есть следующая конструкция: #!/bin/sh ... case "$1" in start) echo -n "Starting httpd: " daemon httpd echo touch /var/lock/subsys/httpd ... как я понимаю комманда daemon запускает демон httpd, однако я не нашел никакой доки на эту комманду, нив манах ни в инфо. Вопрос: как запустить демон?


http запускается как демон сам по себе, потому что так написан. а daemon это не команда, а подпрограмма, текст ее можно найти в /etc/rc.d/init.d/functions

Z0termaNN
()

daemon - это функиция
содержиться в файле /etc/rc.d/init.d/function

демон(стандартный) запускается созданием подобного файла...
не хочешь мучаться - пропиши в /etc/rc.d/local его запуск...

antoxa
()

Спасибо за ответы. С этим все понятно. Я прошу прощения за свою отсталось, но что надо сделать внутри программы, что бы она запускалась как демон?

cbax
() автор топика
Ответ на: комментарий от cbax

примерно так:

signal(SIGHUP,SIG_IGN);
if ( fork() != 0 ) exit(0);
setsid();
chdir("/");
umask(0);
for ( i=0; i < sysconf(_SC_OPEN_MAX); i++ ) close(i);
if ( fork() != 0 ) exit(0);

Z0termaNN
()

thx. Все работает. Вот только непонятно зачем umask(0) и setsid()

cbax
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.