Normalmente se espera que un servidor actúe como un daemon (dee-men).
Esto es, se espera que:
- Se sitúe en background
- Se ejecute hasta que sea explícitamente parado (via
kill
tal vez)
u ocurra la parada del sistema
- 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.
- 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.
- Cambiar la máscara de creación de ficheros a un estado conocido
- Normalizar la variable
PATH
- 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
- Usar syslog para escribir mensajes de diagnóstico al sistema de log
Manejar la señal HUP para autoreiniciarse
- 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
Programación Distribuida y Mejora del Rendimiento
por
Casiano Rodríguez León
is licensed under a Creative Commons Reconocimiento 3.0 Unported License.
Permissions beyond the scope of this license may be available at
http://campusvirtual.ull.es/ocw/course/view.php?id=44.
2012-06-19