Exemplo de daemon em C
Publicado por Andre Luiz da Silva 14/05/2004
[ Hits: 11.341 ]
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();
}
Portscan Simples Usando Sockets em C
Simulação de controle de fluxo usando sockets
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Consertando o áudio com estalos e interrupções no Pipewire
Como implementar Raid (0, 1, 5, 6, 10 e 50)
fusermount3 no Ubuntu 25.10 - mantenha o perfil do AppArmor
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
REDE WI-FI NÃO APARECE NO LINUX MINT (0)
Como programar um sistema de controle para distribuições linux em c? (5)
Servidor Ubuntu 24.04 HD 500 não tenho espaço na \home\adminis... (2)









