Exemplo de daemon em C

Publicado por Andre Luiz da Silva 14/05/2004

[ Hits: 11.053 ]

Homepage: http://localhost

Download daemon.c




Galera, esse src eh muito interessante para quem está aprendendo sobre processos em ambiente Unix. Estudando um pouquinho esse codigo, o conceito de daemon fica muito mais claro do que a simples explicação de que um daemon eh um processo sendo executado em background e talz....

Obs: Eu não escrevi o codigo. ;-)

  



Esconder código-fonte

/*
   Demonio tipo UNIX, codigo de ejemplo.
   UNIX Daemon, example code rules.
   By:
   Por:
      Oscar Medina Duarte
      is111936@mail.udlap.mx
   
*/

#include <sys/types.h>
#include <sys/stat.h>
#include <signal.h>
#include <fcntl.h>

void damncode();
void teschingando(int);
void setduplicate(int);

main(){
pid_t pid;

signal(SIGINT,teschingando);
signal(SIGUSR1, setduplicate);

pid = fork();

if (pid <0){
   printf("Forking Error : )\n");
   exit(-1);
}else if (pid !=0 ){
   printf("\nThis is a Father 1\n");
}else{
   pid = fork();

   if (pid <0){
      printf("Forking error : )\n");
      exit(-1);
   }else if (pid !=0 ){
      printf("\nThis is a father 2\n");
      }else{
   
      /* Poner en modo daemon */
      /* Set Daemon mode */
      setsid();
      umask(0);
      chdir("/");
      damncode(); /* Y ejecutar el daemon, run the daemon */
   
   }
}

}

void damncode(){

   printf("Daemon :\n PID %d\tPPID %d\n",getpid(),getppid());
   for(;;);
}

void teschingando(int signo){

   printf("Signal : %d",signo);
   exit(1);
}

void setduplicate(int signo){
   main();
}

Scripts recomendados

Fractal

ChangePassword

Simulação de controle de fluxo usando sockets

Connect - um simples programa para atravessar proxys Socks

Usando sockets para monitorar servidores


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts