Биллинговая система Nodeny

Главная категория => Nodeny 50 => Тема начата: 0xbad0c0d3 от 04 Марта 2011, 14:19:43



Название: nomaked
Отправлено: 0xbad0c0d3 от 04 Марта 2011, 14:19:43
Сделал доработку nomake.pl для того, что бы стартовать как демон
Вот, собственно, что требуется впилить:
После:
Код:
23 $satmod="$Program_dir/nosat.pl";
Впиливаем:
Код:
24 #Daemon
25 my $pid = fork();
26 !$pid or exit;
27 #------

ну и сам демон:
Код:
 1 #!/bin/sh
 2
 3 # PROVIDE: nodhcpd
 4 # REQUIRE: NETWORKING
 5
 6 . /etc/rc.subr
 7
 8 name="nodhcpd"
 9 rcvar=`set_rcvar`
10 load_rc_config ${name}
11 : ${nodhcpd_enable="YES"}
12 config_file="makedhcpd.conf"
13 pidfile="/var/run/${config_file}.pid"
14 command_interpreter=/usr/bin/perl
15 command=/conf/satellit/nomake.pl
16 command_args="$config_file"
17 run_rc_command "$1"
Демон для генерации конфига DHCP, что можно увидеть по переменной name и по директиве PROVIDE


Название: Re: nomaked
Отправлено: 0xbad0c0d3 от 04 Марта 2011, 16:33:24
Вместо code#2:
Код:
24 fork() && exit;


Название: Re: nomaked
Отправлено: 0xbad0c0d3 от 04 Марта 2011, 22:41:43
Ну и финиш:
Демон нормально стартует из консоли, но при ребуте он поднимится, сформирует конфиг, и сразу завершит работу. Причиной всему этому является SIGHUP
Решение:
В файле nosat.pl закоменить след. строки:
Код:
 52 #$SIG{HUP}=sub
 53 #{
 54 # $Exit_reason='Получен сигнал перезагрузки скрипта';
 55 # $Exit_cod=0;
 56 #};


Название: Re: nomaked
Отправлено: poxy. от 04 Марта 2011, 22:56:38
+1 :)