Pessoal,

Tenho este programa que � executado no redirect_program do squid.
O redirect_children � 5.
Como pode ser visto eu n�o sei como faz�-lo encerrar quando o squid faz 
reconfigure/shutdown/restart/stop. Isso faz com que depois de um tempo 
tenha muitos processos rodando.

Qual c�digo teria que inserir no programa abaixo para que ele 
finalizasse quando o squid parar ?

[]'s



/* ****************** */
/* program redirect.c */
/* Begin of program   */


#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <sys/types.h>
#include <regex.h>
#include <sys/signal.h>


int main(int argc, char *argv[])
{
     int i = 0;
     int j;
     char line[BUFSIZ];
     char url[256];
     char method[64];
     char ident[256];
     char src_address[256];
     FILE *urlfile;

     FILE *output_file;
     char slog[256];
     char stemp[256];
     char slinha[256];
     char sprograma[256];
     int i1 = 0;
     int i2 = 0;
     int i3 = 0;
     char s_url_retorno[256];
     char s_url_comp[256];
     char s_url_p[256];
     char s_ip[256];
     char s_logout_p[256];

     for ( ;; ) {

         while((fgets(line, BUFSIZ, stdin) != NULL)) {
             sscanf(line, "%255s %255s %255s %63s", url, src_address, 
ident, method);

            i1 = strlen(src_address);
            i2 = strlen(ident);

            strcpy(s_url_comp,"http://192.168.1.200/my_url";);
            strcpy(s_logout_p,url);

            if((strcmp(s_logout_p,"logout") == 0 ) ||
               (strcmp(s_url_comp,url) == 0 ) ) {
               strcpy(sprograma, "/aplicati/squid/some_action ");
               strcat(sprograma, src_address);
               strcat(sprograma, " ");
               strcat(sprograma, ident);
               strcat(sprograma, " ");
               strcat(sprograma, url);
               strcat(sprograma, " ");
               strcat(sprograma, method);
               system(sprograma);
            }
            else {
               printf("\n");
               fflush(stdout);
            }
        }
     }
     exit(0);
}

/* ****************** */
/*  End of program    */



Assinantes em 18/07/2002: 2234
Mensagens recebidas desde 07/01/1999: 175450
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
            mailto:[EMAIL PROTECTED]

Responder a