IPCsTD III – 2008 – Guillermo Osso 1
¿Qué es? Es un proceso, un programa, que corre en background. D.A.E.MON.: Disk And Execution MONitor En Windows –> Servicios ¿Para qué sirven? Programas que se ejecutan en forma continua que corren servicios del SO con fines específicos. IPCsTD III – 2008 – Guillermo Osso 2
¿Qué diferencias tiene con un proceso general corriendo en background? Posee características propias como ser: – No tiene asociada una terminal o interfaz gráfica. – No hace uso del stdin, stdout y stderr para comunicarse con el usuario, sino mediante syslogd. – Su ppid es 1 (Init). IPCsTD III – 2008 – Guillermo Osso 3
¿Cómo se generan? Preparar para operar en background (Huerfanizar). Independizar el proceso (setsid();). Cerrar descriptores (for (i=getdtablesize();i>=0;--i) close(i);). Cambiar directorio activo (chdir();). Exclusión mutua de reincidencia de ejecutar el demonio. Trappear señales. IPCsTD III – 2008 – Guillermo Osso 4
5 Funciones a tener en cuenta: pid_tsetsid (void) Crea una nueva sesión. Independiza el proceso de la terminal. Devuelve la session ID. Intgetdtablesize(void) Devuelve el máximo de file descriptors abiertos. Intchdir (const char *path) ¿Alguna duda? -> man chdir
Para verlos en Linux El archivo de configuración de los Daemons es /etc/syslog.conf Salidas de monitoreo en /var/log. Se pueden ver en un bash con “tail syslog”, por ejemplo. IPCsTD III – 2008 – Guillermo Osso 6