Dans les systèmes d'exploitation de type Unix, un processus démon (souvent abrégé en « démon ») est un processus en arrière-plan qui s'exécute sans terminal de contrôle. Cela signifie qu'il n'interagit pas directement avec la session de connexion d'un utilisateur. Les démons effectuent généralement des tâches au niveau du système, telles que la gestion des connexions réseau, les travaux d'impression ou la gestion de la journalisation du système.
Voici un aperçu des principales caractéristiques :
* Exécution en arrière-plan : Les démons s'exécutent indépendamment du shell de connexion de tout utilisateur. Ils n'ont pas besoin qu'un utilisateur soit connecté pour fonctionner.
* Aucun terminal de contrôle : Ils n'ont pas d'entrée standard (stdin), de sortie standard (stdout) ou d'erreur standard (stderr) associée à un terminal. La sortie est généralement redirigée vers des fichiers journaux ou d’autres emplacements désignés.
* Tâches système : Ils effectuent des tâches essentielles au niveau du système, souvent de manière continue et indéfinie.
* Accès de bas niveau : Ils fonctionnent généralement avec un accès privilégié, nécessitant des autorisations élevées pour effectuer leurs tâches efficacement.
* Nom conventionnel : Les noms de processus démon se terminent souvent par un « d », comme « sshd » (démon SSH), « httpd » (démon HTTP) ou « named » (démon DNS).
En quoi diffèrent-ils des processus classiques :
Un programme typique lancé depuis un terminal interagit directement avec l'utilisateur via le terminal. Lorsque le terminal est fermé, le programme se termine généralement. Cependant, un démon continue de s'exécuter même après la déconnexion de l'utilisateur qui l'a démarré.
Comment ils sont démarrés :
Les démons sont souvent démarrés lors du démarrage du système à l'aide de scripts d'initialisation du système (comme « systemd » dans les systèmes modernes, ou « init » dans les systèmes plus anciens). Ils peuvent également être lancés à la demande par d’autres programmes ou services.
Gestion des démons :
Les administrateurs système utilisent divers outils pour gérer les démons, notamment :
* `ps` : Pour répertorier les processus en cours d’exécution, y compris les démons.
* `top` ou `htop` : Pour surveiller l'utilisation des ressources système, y compris l'activité du démon.
* `systemctl` (systemd) : Pour contrôler les démons démarrés par systemd (démarrage, arrêt, redémarrage, statut). Ceci est courant dans la plupart des distributions Linux modernes.
* `kill` : Pour terminer un processus démon (bien que cela doive être utilisé avec prudence).
Essentiellement, les démons sont les héros méconnus d’un système d’exploitation de type Unix, travaillant silencieusement et continuellement en arrière-plan pour garantir un fonctionnement fluide et efficace.
|