Exemplo de daemon em C

Publicado por Andre Luiz da Silva 14/05/2004

[ Hits: 11.034 ]

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

Ping

[C - Socket] UDP SERVER

ChangePassword

Sockets: um mini webserver

Script de smbstatus


  

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