Перейти к содержанию

демон для линукса


друпаж

Рекомендуемые сообщения

пишу демон для линукса на c++

 

вопрос такой - как его сделать именно демоном, т.е. работающим в фоне и

отдетаченным от консоли.

 

есть некий пример :

 

if (globals::is_demonize) {

switch (fork()) {

case 0: /* Child (left running on it's own) */

break;

case -1:

perror("fork failed");

exit(1);

default: /* Parent */

exit(0);

}

setsid(); /* Move into a new session */

logger.syslogOn();

fclose(stdout);

fclose(stderr);

}

 

непонятно, зачем тут fork, может достаточно :

 

fclose(stdout);

fclose(stderr);

 

 

????

Ссылка на комментарий
Поделиться на другие сайты

я понял в чём прикол, после форка для дочернего процесса

все файловые дескрипторы (и stdin/stdout/stderr тоже) и сокеты родительского процесса уже недействительны,

фактически, дочерний процесс и есть уже отдетаченный демон.

Ссылка на комментарий
Поделиться на другие сайты

пишу демон для линукса на c++

 

вопрос такой - как его сделать именно демоном, т.е. работающим в фоне и

отдетаченным от консоли.

 

есть некий пример :

 

вот те и друпаж .... вот те сукин сын (хрюшкин потомок :) )

а мы его тролль тролль ..... :D

 

слушай ... не знаю что и сказать - не программер я - если что то пишу то скрипты = в моем случае это bash и python(немножко)

и если нужно отправить что то в фон ипользую такую процедуру в скрипте запуска

#!/bin/bash
"имя программы или скрипта"&

 

для администрирования достаточно, для остального конечно нет :)

Ссылка на комментарий
Поделиться на другие сайты

да ты оказывается туп как валенок...... какой же ты после этого линуксоид ?!?!

 

кстати, вот здесь www.serverscamp.com (пока ещё) раздают

бесплатные VPS на Дебиане,

машинки скромные, но... бесплатные

OpenVZ, x64, 150Mhz vcpu, 256mb vram, 2gb vhdd, inet 15-20mbit/s!!!!!

Ссылка на комментарий
Поделиться на другие сайты

я понял в чём прикол, после форка для дочернего процесса

все файловые дескрипторы (и stdin/stdout/stderr тоже) и сокеты родительского процесса уже недействительны,

фактически, дочерний процесс и есть уже отдетаченный демон.

ну это же очевидно.. :D

Ссылка на комментарий
Поделиться на другие сайты

да ты оказывается туп как валенок......

да я действительно не разработчик на С в том числе ++ - но это мне совсем не мешает использовать уже созданное программное обеспечение и связывать все в комплекс nix сервера -через bash и python скрипты

в данном смысле незнание мною С никак не связанно с

какой же ты после этого линуксоид ?!?!

 

такой какой есть :D

 

 

да ты сам туп, если ники спутал, жирненький тролль

 

ну ты не него не реагируй = видишь человек тужится, брызжет слюной, пукает и хрюкает = очень хочет отдуплится и вернуть иммидж тролля .....

только ему скорее всего придется новый ник с чушкой заводить = видимо у нашего С++ разраба такой способ отдыхать от мозголомного кода доставших его проектов :D

Ссылка на комментарий
Поделиться на другие сайты

ну, кароче, кому интересно :

 

http://mainloop.ru/kak-sozdat-demona-ili-n...i.html#more-177

 

не трепыхайся

ты использовал этот пример http://mainloop.ru/kak-sozdat-demona-ili-n...i.html#more-177 и попросил его дополнительно разъяснить:

 

непонятно, зачем тут fork, может достаточно :

 

fclose(stdout);

fclose(stderr);

 

 

????

 

а потом и сам все понял:

 

я понял в чём прикол, после форка для дочернего процесса

все файловые дескрипторы (и stdin/stdout/stderr тоже) и сокеты родительского процесса уже недействительны,

фактически, дочерний процесс и есть уже отдетаченный демон.

 

иди "кодь" дальше :)

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.

×
×
  • Создать...