Exemplo de daemon em C
Publicado por Andre Luiz da Silva 14/05/2004
[ Hits: 11.107 ]
Homepage: http://localhost
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. ;-)
/* 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(); }
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Suporte a Markdown ou BBCODE para o VOL (3)
Ubuntu 24 [ Wireless sendo atacada ] (9)
Como atribuir corretamente o CNES final baseado nas regras de certific... (2)