Que sont les démons sous Linux 2022?

Imaginez que vous écrivez un article, une page Web ou un livre, votre intention est de faire exactement cela – écrire. C’est plutôt agréable de ne pas avoir à démarrer manuellement les services d’imprimante et de réseau, puis à les surveiller toute la journée pour s’assurer qu’ils fonctionnent correctement.

Nous pouvons remercier les démons pour cela – ils font ce genre de travail pour nous.

Qu’est-ce qu’un démon sous Linux ?

Un  démon  (habituellement prononcé comme :  day-mon, mais parfois prononcé comme pour rimer avec  diamond) est un programme avec un but unique. Ce sont des programmes utilitaires qui s’exécutent silencieusement en arrière-plan pour surveiller et prendre soin de certains sous-systèmes afin de s’assurer que le système d’exploitation fonctionne correctement. Un démon d’imprimante surveille et prend en charge les services d’impression. Un démon réseau surveille et gère les communications réseau, etc.

Après avoir passé en revue la prononciation de  daemon , j’ajouterai que si vous voulez le prononcer comme demon, je ne me plaindrai pas.

Pour les personnes venant du monde Windows vers Linux, les démons sont appelés  services . Pour les utilisateurs de Mac, le terme,  services , a un usage différent. Le système d’exploitation du Mac est vraiment UNIX, il utilise donc des démons. Le terme  services  est utilisé, mais uniquement pour étiqueter les logiciels trouvés dans le  Services menu.

Les démons effectuent certaines actions à des moments prédéfinis ou en réponse à certains événements. Il existe de nombreux démons qui s’exécutent sur un système Linux, chacun spécialement conçu pour surveiller sa propre petite partie du système, et comme ils ne sont pas sous le contrôle direct d’un utilisateur, ils sont effectivement invisibles, mais essentiels. Parce que les démons font l’essentiel de leur travail en arrière-plan, ils peuvent sembler un peu mystérieux et donc, peut-être difficile de les identifier et ce qu’ils font réellement.

Quels démons tournent sur votre machine ?

Pour identifier un démon, recherchez un processus qui se termine par la lettre  d . C’est une règle générale de Linux que les noms des démons se terminent ainsi.

Il existe de nombreuses façons d’apercevoir un démon en cours d’exécution. Ils peuvent être vus dans les listes de processus via  ps,  topou  htop. Ce sont des programmes utiles à part entière – ils ont un but précis, mais pour voir tous les démons s’exécuter sur votre machine, la  pstree commande conviendra mieux à notre discussion.

La  pstree commande est un petit utilitaire pratique qui affiche les processus en cours d’exécution sur votre système et les affiche sous forme d’arborescence. Ouvrez un terminal et tapez cette commande :

pstree

Vous verrez une liste complète de tous les processus en cours d’exécution. Vous ne savez peut-être pas ce que sont certains d’entre eux, ou ce qu’ils font, ils sont répertoriés. La  pstree sortie est une assez bonne illustration de ce qui se passe avec votre machine. Il se passe beaucoup de choses!

vérifier le démon avec pstree
démon – exécution de pstree terminée

En regardant la capture d’écran, quelques démons peuvent être vus ici : udisksd , gvfsd , systemd , logind et quelques autres.

READ  Linux Cinnamon contre Linux MATE 2022

Notre liste de processus était suffisamment longue pour que la liste ne puisse pas tenir dans une seule fenêtre de terminal, mais nous pouvons faire défiler vers le haut à l’aide de la souris ou des touches du curseur :

démon pstree
démon – partie supérieure de pstree

Démons engendrant

démons
Photo à titre indicatif seulement

Encore une fois, un démon est un processus qui s’exécute en arrière-plan et qui est généralement hors du contrôle de l’utilisateur. On dit qu’un démon  n’a pas de terminal de contrôle .

Un  processus  est un programme en cours d’exécution. À un instant donné, il peut être en cours d’exécution, en veille ou zombie (un processus qui a terminé sa tâche, mais qui attend que son processus parent accepte la valeur de retour).

Sous Linux, il existe trois types de processus : interactif, batch et démon.

Les processus interactifs  sont ceux qui sont exécutés par un utilisateur à la ligne de commande sont appelés processus interactifs.

Les processus par lots  sont des processus qui ne sont pas associés à la ligne de commande et sont présentés à partir d’une liste de processus. Considérez-les comme des « groupes de tâches ». Ce sont les meilleurs moments où l’utilisation du système est faible. Les sauvegardes du système, par exemple, sont généralement exécutées la nuit puisque les travailleurs de jour n’utilisent pas le système. Lorsque j’étais administrateur système à plein temps, j’exécutais souvent des inventaires d’utilisation du disque, des scripts d’analyse du comportement du système, etc., la nuit.

Les processus interactifs et les travaux par lots ne sont  pas des  démons même s’ils peuvent être exécutés en arrière-plan et peuvent effectuer un travail de surveillance. La clé est que ces deux types de processus impliquent une intervention humaine via une sorte de contrôle terminal. Les démons n’ont pas besoin d’une personne pour les démarrer.

Nous savons qu’un  démon  est un programme informatique qui s’exécute en arrière-plan, plutôt que d’être sous le contrôle direct d’un utilisateur interactif. Lorsque le démarrage du système est terminé, le processus d’initialisation du système commence à  générer  (créer) des démons via une méthode appelée  forking , éliminant ainsi le besoin d’un terminal (c’est ce que l’on entend par  aucun terminal de contrôle ).

Je n’entrerai pas dans tous les détails du processus de bifurcation, mais j’espère que je pourrai être juste assez bref pour montrer quelques informations de base pour décrire ce qui est fait. Bien qu’il existe d’autres méthodes pour créer des processus, traditionnellement, sous Linux, la façon de créer un processus consiste à faire une copie d’un processus existant afin de créer un processus enfant. Un appel système exec pour démarrer un autre programme est ensuite effectué.

Soit dit en passant , le terme  fork  n’est pas arbitraire. Il tire son nom du langage de programmation C. L’une des bibliothèques utilisées par C s’appelle la bibliothèque standard, contenant des méthodes pour exécuter des services d’exploitation. L’une de ces méthodes, appelée  fork , est dédiée à la création de nouveaux processus. Le processus qui lance un fork est considéré comme le processus parent du processus enfant nouvellement créé.

READ  10 meilleurs applets indicateurs pour Ubuntu

Le processus qui crée des démons est le processus d’initialisation (appelé  init) en forgeant son propre processus pour en créer de nouveaux. De cette façon, le  init processus est le processus parent pur et simple.

Il existe une autre façon de générer un démon et c’est pour un autre processus de bifurquer un processus enfant puis de  mourir  (un terme souvent utilisé à la place de  exit ). Lorsque le parent meurt, le processus enfant devient  orphelin . Lorsqu’un processus enfant est orphelin, il est adopté par le  init processus.

Si vous entendez des discussions, ou lisez du matériel en ligne, à propos de démons ayant « un ID de processus parent de 1 », c’est pourquoi. Certains démons ne sont pas générés au démarrage, mais sont créés plus tard par un autre processus qui est mort et  init l’a adopté.

Il est important de ne pas confondre cela avec un  zombie . N’oubliez pas qu’un zombie est un processus enfant qui a terminé sa tâche et attend que le parent accepte le statut de sortie.

Exemples de démons Linux

démon Linux

Encore une fois, la façon la plus courante d’identifier un démon Linux est de rechercher un service qui se termine par la lettre  d . Voici quelques exemples de démons qui peuvent être exécutés sur votre système. Vous pourrez voir que les démons sont créés pour effectuer un ensemble spécifique de tâches :

systemd – l’objectif principal de ce démon est d’unifier la configuration et le comportement des services dans les distributions Linux.

rsyslogd – utilisé pour consigner les messages système. Il s’agit d’une version plus récente de  syslogd plusieurs fonctionnalités supplémentaires. Il prend en charge la journalisation sur les systèmes locaux ainsi que sur les systèmes distants.

udisksd – gère les opérations telles que l’interrogation, le montage, le démontage, le formatage ou le détachement des périphériques de stockage tels que les disques durs ou les clés USB

logind – un petit démon qui gère les connexions et les sièges des utilisateurs de différentes manières

httpd – le gestionnaire de services HTTP. Ceci est normalement exécuté avec un logiciel de serveur Web tel qu’Apache.

sshd – Démon responsable de la gestion du service SSH. Ceci est utilisé sur pratiquement n’importe quel serveur qui accepte les connexions SSH.

ftpd – gère le service FTP – FTP ou File Transfer Protocol est un protocole couramment utilisé pour transférer des fichiers entre ordinateurs ; l’un agit en tant que client, l’autre en tant que serveur.

crond – le démon du planificateur pour les actions temporelles telles que les mises à jour logicielles ou les vérifications du système.

Quelle est l’origine du mot démon ?

Lorsque j’ai commencé à écrire cet article, j’avais prévu de couvrir uniquement ce qu’est un démon et d’en rester là. J’ai travaillé avec UNIX avant que Linux n’apparaisse. À l’époque, je pensais à un démon tel qu’il était : un processus d’arrière-plan qui effectuait des tâches système. Je me fichais vraiment de savoir comment il avait obtenu son nom. Avec des discussions supplémentaires sur d’autres choses, comme les zombies et les orphelins, j’ai juste pensé que les créateurs du système d’exploitation avaient un sens de l’humour déformé (un peu comme le mien).

READ  Quelle est la différence entre les deux KDE Neon vs Kubuntu

J’effectue toujours des recherches sur chaque article que j’écris et j’ai été surpris d’apprendre qu’apparemment, beaucoup d’autres personnes voulaient savoir comment le mot est né et pourquoi.

Le mot a certainement suscité une certaine curiosité et, après avoir lu plusieurs échanges animés, j’avoue que j’ai été curieux aussi. Effectuez une recherche sur le sens ou l’étymologie du mot (l’origine des mots) et vous trouverez plusieurs réponses.

Dans l’intérêt de contribuer à la discussion, voici mon point de vue.

La forme la plus ancienne du mot, démon, était orthographiée comme  daimon , une forme d’ange gardien – des esprits qui aidaient à former le caractère des personnes qu’ils aidaient. Socrate prétendait en avoir un qui le servait de manière limitée, mais correctement. Le daimon de Socrate lui a seulement dit quand se taire. Socrate a décrit son daimon lors de son procès en 399 av. J.-C., de sorte que la croyance aux daimons existe depuis un certain temps. Parfois, l’orthographe de daimon est indiquée comme démon. Daimon  et  daemon , ici, signifient la même chose.

Alors qu’un  démon  est un assistant, un  démon  est un personnage maléfique de la Bible. Les différences d’orthographe sont intentionnelles et ont apparemment été décidées au XVIe siècle. Les démons sont les gentils et les démons sont les méchants.

L’utilisation du mot démon en informatique est apparue en 1963. Project MAC  est un raccourci pour  Project on Mathematics and Computation et a été créé au Massachusetts Institute of Technology. C’est ici que le mot démon est devenu d’usage courant  pour désigner tout processus système qui surveille d’autres tâches et exécute des actions prédéterminées en fonction de leur comportement. Le mot démon a été nommé d’après le démon de Maxwell .

Le démon de Maxwell est le résultat d’une expérience de pensée. En 1871,  James Clerk Maxwell  a imaginé un être intelligent et ingénieux capable d’observer et de diriger le voyage de molécules individuelles dans une direction spécifique. Le but de l’exercice de réflexion était de montrer la possibilité de contredire la seconde loi de la thermodynamique.

J’ai vu des commentaires selon lesquels le mot, démon, était un acronyme pour  Disk And Executive MONitor. Les utilisateurs originaux du mot, démon, ne l’ont jamais utilisé à cette fin , donc l’idée de l’acronyme, je crois, est incorrecte.

bête

Enfin – pour terminer sur une note légère – il y a la mascotte BSD : un démon qui a l’apparence d’un démon. Le démon BSD a été nommé d’après les démons logiciels, mais il obtient son apparence en jouant avec le mot.

Si vous avez aimé cet article, veuillez- vous abonner à notre communauté reddit pour en discuter. Vous pouvez également nous retrouver sur Twitter et Facebook .

5/5 - (1 vote)

Mises à jour de la newsletter

Saisissez votre adresse e-mail ci-dessous pour vous abonner à notre newsletter

Laisser un commentaire