Qu’est-ce qu’un démon ?
Ce terme étrange est une relique de l'histoire d'Unix, mais les démons 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 démons, 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 démon ?
Un démon 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 démon 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 démons ?
Sur les systèmes Unix, le terme démon 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 démon 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 démon incluent :
- Sandboxing en supprimant les variables inutiles de son environnement.
- Définir le répertoire racine (/) 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 Windows et macOS, utilisent également des démons. Dans le cas de Windows, les services sont l'équivalent le plus proche.
Quels sont les démons communs ?
Cron ( crond ) est un démon 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 démons – c'est ce que le « d » signifie. Le démon 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 démon, 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.
Les démons sont des fournisseurs de services vitaux
Les démons fonctionnent en continu, effectuant des tâches vitales pour que votre ordinateur continue de fonctionner. Ils sont souvent impliqués lorsqu'un ordinateur doit agir en tant que serveur, agissant au nom d'autres clients.
Les démons sont un composant essentiel d'un serveur Linux. Si vous débutez dans la configuration d'un serveur, consultez nos conseils pour commencer.