Exemplo de daemon em C
Publicado por Andre Luiz da Silva 14/05/2004
[ Hits: 11.140 ]
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(); }
Robo HTTP usando socket e código multiplataforma
Nenhum comentário foi encontrado.
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
O que você está ouvindo agora? [2] (175)
Copiar Layout do Teclado para aplicar em outra Distribuição (10)
Autenticação necessária. um aplicativo quer acesso ao chaveiro (2)