Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : Alex Semenyaka                       2:461/640.640  12 Mar 2006  18:13:30
 To : Vadim Goncharov
 Subject : arpwatch signal handling (Was: Учет тpаффика)
 -------------------------------------------------------------------------------- 
 
 
 11 Mar 06 17:55, you wrote to Eugene Grosbein:
 
  VG> Он устанавливает все рассматриваемые сигналы:
  VG>     (void)setsignal(SIGINT, die);
  VG>     (void)setsignal(SIGTERM, die);
  VG>     (void)setsignal(SIGHUP, die);
  VG> на одну процедуру:
  VG>
  VG> die(int signo)
  VG> {
  VG>
  VG>     syslog(LOG_DEBUG, "exiting");
  VG>     checkpoint(0);
  VG>     exit(1);
  VG> }
 
 HUP надо убрать отсюда... И сделать SIG_IGN. И всё.
 
 Use send-pr, Luke.
 
  VG> А вот, собственно, фрагмент демонизации:
  VG>
  VG>         /* Drop into the background if not debugging */
  VG>         if (!debug) {
  VG>             pid = fork();
  VG>             if (pid < 0) {
  VG>                 syslog(LOG_ERR, "main fork(): %m");
  VG>                 exit(1);
  VG>             } else if (pid != 0)
  VG>                 exit(0);
  VG>             (void)close(fileno(stdin));
  VG>             (void)close(fileno(stdout));
  VG>             (void)close(fileno(stderr));
  VG> #ifdef TIOCNOTTY
  VG>             fd = open("/dev/tty", O_RDWR);
  VG>             if (fd >= 0) {
  VG>                 (void)ioctl(fd, TIOCNOTTY, 0);
  VG>                 (void)close(fd);
  VG>             }
  VG> #else
  VG>             (void) setsid();
  VG> #endif
  VG>         }
 
 Hичего страшного.
 
  VG> В то время, как еще дедушка Стивенс рекомендует использовать
  VG> последовательность fork(); setsid(); fork(); для надежного
  VG> и переносимого отцепления от терминала,
 
 Рекомендует (если есть setsid() - иначе TIOCNOTTY нужен). Hо во FreeBSD вполне
 будет работать и так.
 
  VG>  а TIOCNOTTY в мане на 5.4 вообще помечен как obsolete.
 
 Да. А откуда следует, что код с TIOCNOTTY отрабатывается? Этот символ
 определён?
 
  VG> Соответственно, по идее надо бы экспериментально проверить, какие
  VG> сигналы прилетают программе, запускаемой из rc-скриптов.
 
 Уже многократно писалось, какие.
 
 Alex
 
 --- IMHO в последней инстанции
  * Origin: ...можжевеловых... (2:461/640.640)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 arpwatch signal handling (Was: Учет тpаффика)   Vadim Goncharov   11 Mar 2006 18:55:46 
 arpwatch signal handling (Was: Учет тpаффика)   Alex Semenyaka   12 Mar 2006 18:13:30 
 Re: arpwatch signal handling (Was: Учет тpаффика)   Vadim Goncharov   13 Mar 2006 02:29:11 
Архивное /ru.unix.bsd/392944142dc7.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional