LINUX.ORG.RU
 

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


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, однако я не нашел никакой доки на эту комманду, нив манах ни в инфо. Вопрос: как запустить демон?


[#]  
Z0termaNN

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

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

* ()
[#]  

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

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

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

* ()
[#]  

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

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

* ()
[#] Ответ на: Re: Запуск демонов от cbax 26.01.2000 9:17:56  
Z0termaNN

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

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

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);

* ()
[#]  

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

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

* ()