[c++] демонизация процесса - помогите разобраться
Linux Daemon Writing HOWTO?
Завтра буду по книжке разбираться подробно,
пока просто хочется оценить насколько это запарно.
http://www.linuxprofilm.com/articles/linux-daemon-howto.html
p.s. гугл иногда бывает другом человека, не стоит это забывать.
![](/images/graemlins/smile.gif)
http://www.enderunix.org/docs/eng/daemon.php
и еще:
http://www.erlenstar.demon.co.uk/unix/faq_2.html
if (fork exit(0);
setsid;
pid_t myPID = getpid;
всё, больше тебе ничего не надо, разве что сигналы перехватить.
signal(SIGINT, actionOnSignal);
signal(SIGQUIT, actionOnSignal);
signal(SIGTERM, actionOnSignal);
signal(SIGSEGV, actionOnSignal);
signal(SIGHUP, actionOnSignal);
signal(SIGUSR1, actionOnSignal);
signal(SIGUSR2, actionOnSignal);
signal(SIGWINCH, actionOnSignal);
signal(SIGILL, actionOnSignal);
signal(SIGTRAP, actionOnSignal);
signal(SIGABRT, actionOnSignal);
signal(SIGBUS, actionOnSignal);
signal(SIGCHLD, actionOnSignal);
signal(SIGURG, actionOnSignal);
signal(SIGIO, SIG_IGN);
signal(SIGPIPE, SIG_IGN);
ну сама сигналистая функция такая:
void actionOnSignal(int sig)
{
signal(sig, SIG_IGN);
// lalala -- do everything you want
// no po nekotorym signalam nado delat' exit;
exit(0);
}
Я слышал, что sigaction(2) котируется больше, чем signal(2).
Я слышал, что sigaction(2) котируется больше, чем signal(2).
А в чём прикол? Тут по-моему не такая штука, чтобы ещё думать что использовать.
![](/images/graemlins/wink.gif)
Ну всякие там хитрые фишки с атомарностью. Типа новый сигнал пришел во время, когда обработчик старого уже начал работать, но еще не вызвал signal.
![](/images/graemlins/smirk.gif)
демонизировать в итоге надо tcp/ip сервер
![](/images/graemlins/smile.gif)
Для этого есть daemontools.
---
...Я работаю антинаучным аферистом...
Для этого есть daemontools.
Пиздец ты долбоёб! по форку + екзеку на ловлю ОДНОГО СОЕДИНЕНИЯ?
А вообще, daemontools — отвратительно написанная вещь. Только для qmail она и годится...
Ты вообще пишешь не на ассемблере и для suxx.
---
...Я работаю антинаучным аферистом...
Оставить комментарий
Yulka-MOl
Хочется написать программу, которая при запуске переводит себя в фоновый режим, т е становится процессом-демоном.Речь о Linux.
Что-нибудь совсем простенькое, типа helloworld.
Сбросьте ссылочки на код в инете или выложите здесь, если у кого есть.
Заранее спасибо!