Exemplo de daemon em C
Publicado por Andre Luiz da Silva 14/05/2004
[ Hits: 11.265 ]
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.
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Novidades Linux: Kernel 6.17, distros em ebulição e segurança em foco
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como vencer a procrastinação? (2)
Alguém que utilize o Warsaw do BB no Ubuntu 24.04 [RESOLVIDO] (7)
Orientação para instalar o Warsaw - módulo de proteção do Banco do Bra... (9)