3.6.1 Définition d'un démon
Caractéristiques :
Processus serveur ordinaire ;
Processus fils du processus
init
;
Processus du super-utilisateur ;
Même durée de vie que le système.
Réalisation :
fork()
: pour se lancer en tâche de fond ;
setsid()
: pour se détacher du terminal courant ;
chdir("/")
: évite d'empêcher un démontage ;
close(0,1,2)
: fermer les descripteurs inutiles ;
umask(022)
: pour créer des fichiers non modifiables ;
openlog,syslog,closelog
: avertissements, erreurs.
Nouvelle fonction (4 premières étapes) :
#include <unistd.h> int daemon (int nochdir, int noclose);