Como Convertirse en un Demonio

Normalmente se espera que un servidor actúe como un daemon (dee-men). Esto es, se espera que:

  1. Se sitúe en background
  2. Se ejecute hasta que sea explícitamente parado (via kill tal vez) u ocurra la parada del sistema
  3. Se debe desconectar de la ''terminal de control'' de manera que no reciba una señal HUP (valor numérico 1) cuando el usuario termina la shell. Otro beneficio es que las salidas del daemon no se mezclan con las del usuario.

  4. Cambiar al directorio raíz. Esto evita los problemas que pudieran surgir de un umount del sistema de archivos en el que arranco el daemon.
  5. Cambiar la máscara de creación de ficheros a un estado conocido
  6. Normalizar la variable PATH
  7. Escribir su ID de proceso en un fichero /var/run o similar

    # ls -l /var/run | head -3
    total 120
    drwxr-xr-x  2 root        root        4096 2006-01-16 10:15 apache2
    -rw-r--r--  1 root        root           5 2007-06-03 06:28 apache.pid
    
  8. Usar syslog para escribir mensajes de diagnóstico al sistema de log
  9. Manejar la señal HUP para autoreiniciarse

  10. Usar chroot() para colocarse en una parte restringida del sistema de archivo y/o establecer los privilegios de un usuario no privilegiado



Subsecciones
Casiano Rodríguez León
2012-02-29