
En tant qu’utilisateur d’ordinateur et passionné de l’informatique , vous avez peut-être entendu le terme » Daemon » utilisé assez souvent. Mais qu’est-ce que cela signifie concrètement ?
Ce terme étrange est une relique de l’histoire d’Unix, mais les Daemons sont toujours utilisés aujourd’hui. Le terme est synonyme du concept de « service », une tâche qui s’exécute en continu, généralement sans interaction de l’utilisateur.
Il existe plusieurs exemples courants de Daemons, et même si vous n’avez pas besoin de savoir exactement comment ils fonctionnent, il est au moins utile de pouvoir les identifier.
Qu’est-ce qu’un Daemon ?
Un Daemon ou Disk And Execution MONitor est un programme qui s’exécute en tant que processus d’arrière-plan plutôt qu’interactif. Les démons sont courants parmi les outils réseau et les tâches d’administration système. Vous pouvez contrôler certains démons en leur envoyant des signaux.
Comment prononcer « Daemon » ?
Malgré les apparences, le mot Daemon se prononce généralement de la même manière que le mot « Démon ». Rassurez-vous, cela n’a rien à voir avec des rituels sataniques. En fait, le nom dérive en fin de compte de la mythologie grecque et du concept d’un esprit directeur, travaillant sans relâche en arrière-plan. En ce sens, c’est un nom très approprié !
Comment fonctionnent les Daemons ?
Sur les systèmes Unix, le terme Daemon est souvent utilisé de manière interchangeable avec le terme processus d’arrière-plan. En d’autres termes, c’est un processus qui a été détaché de tout shell et continue de s’exécuter de manière non interactive. Un vrai Daemon doit également s’assigner en tant qu’enfant du processus d’initialisation spécial qui a le numéro d’ID de processus spécial 1.
D’autres tâches typiques impliquées dans l’isolement du Daemon incluent :
- Sandboxing en supprimant les variables inutiles de son environnement.
- Définir le répertoire racine (root) (/) comme répertoire de travail actuel du processus.
- Rediriger les descriptions de fichiers d’entrée, de sortie et d’erreur vers les fichiers journaux ou /dev/null .
D’autres systèmes, tels que macOS et Windows , utilisent également des démons. Dans le cas de Windows, les services sont l’équivalent le plus proche.
Quels sont les Daemons communs ?
Cron ( crond ) est un Daemon qui exécute d’autres programmes selon un calendrier. La plupart des systèmes Unix le configurent pour qu’il s’exécute automatiquement au démarrage. Il se réveille une fois par minute, vérifie les fichiers de configuration et exécute toutes les commandes définies pour s’exécuter pendant cette minute. Cron est suffisamment intelligent pour réagir aux modifications apportées aux fichiers crontab lorsqu’elles changent. Vous n’avez pas besoin de le redémarrer vous-même.
Les serveurs Web, tels que httpd d’Apache , fonctionnent souvent comme des Daemons – c’est ce que le « d » signifie. Le Deamon Apache gère les requêtes entrantes en créant un pool de processus enfants pour partager la charge. Vous pouvez utiliser un programme d’assistance, tel que apachectl , pour un contrôle plus facile du démon httpd lui-même.
Enfin, sshd est un autre exemple courant de Daemon , cette fois qui gère les connexions SSH. Encore une fois, il démarre normalement à partir du démarrage et continue de fonctionner indéfiniment, en s’appuyant sur des signaux pour certaines opérations. Par exemple, un signal SIGHUP oblige sshd à se réexécuter, en rechargeant son fichier de configuration lorsqu’il le fait.