web-dev-qa-db-fra.com

Quelle est la différence technique entre démon, service et processus?

Je veux savoir quelles sont les différences de comportement d’un démon, d’un processus ou d’un service exécuté sous Ubuntu.

117
krupal6022

Daemons - Le démon ne n'est pas signifie Moniteur de disque et d'exécution ( http://www.takeourword.com/TOW146/page4.html ). Ce sont les processus qui fonctionnent en arrière-plan et qui ne sont pas interactifs. Ils n'ont pas de terminal de contrôle.

Ils effectuent certaines actions à des moments prédéfinis ou en réponse à certains événements. Dans * NIX, les noms des démons se terminent par d .

Services - Dans Windows, les démons sont appelés services .

Si vous vous demandez pourquoi * NIX a une commande nommée service , elle est simplement utilisée pour exécuter des scripts init (raccourci pour ) initialisation scriptrunlevel ).

Processus - Processus est un programme en cours d'exécution. À un moment donné, il peut s'agir de en marche , de en veille ou de zombie (processus terminé, mais en attente que son processus parent récupère la valeur de retour).

Sources et informations complémentaires :

118
green
  1. Un démon est un arrière-plan non interactif programme. Il est détaché du clavier et l’affichage de tout utilisateur interactif. Le démon Word pour désigner un programme d'arrière-plan provient de la culture Unix. ce n'est pas universel.

  2. Un service est un programme qui répond aux demandes d'autres programmes via un mécanisme de communication interprocessus (généralement sur un réseau). n service est ce qu'un serveur fournit. Par exemple, le service de mappage de port NFS est fourni en tant que service portmap séparé, implémenté en tant que démon portmapd.

    Un service ne doit pas nécessairement être un démon, mais généralement. Une application utilisateur avec une interface graphique pourrait avoir un service intégré: par exemple, une application de partage de fichiers. Un autre exemple est le service X Window, qui est tout sauf en arrière-plan: il prend en charge votre écran, votre clavier et votre périphérique de pointage. C'est un service parce qu'il répond aux demandes des applications (créer et manipuler des fenêtres, etc.), qui peuvent même se trouver ailleurs sur le réseau. Mais le service X répond également à tous vos mouvements de souris et de touches.

  3. n processus est un ou plusieurs threads d'exécution ensemble avec leur ensemble de ressources partagées, les plus importantes étant l'espace d'adressage et les descripteurs de fichiers ouverts. Un processus crée un environnement pour ces threads d’exécution, qui ressemble à une machine complète: c’est une machine virtuelle.

    À l'intérieur d'un processus, les ressources des autres processus et du noyau sont invisibles et ne sont pas directement accessibles (du moins pas à un thread qui exécute un code d'espace utilisateur). Par exemple, il n’existe aucun moyen de faire référence aux fichiers ouverts d’un autre processus, ni à leur espace mémoire; c'est comme si ces choses n'existaient même pas.

    Le processus et sa relation avec le noyau et d'autres processus constituent peut-être l'abstraction la plus importante dans les systèmes d'exploitation de type Unix. Les ressources du système sont compartimentées en processus et presque tout est compris comme se produisant dans un processus ou un autre.

39
Anon