Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 10964|Répondre: 8

[Linux] Linux systemd service manager expliqué en détail

[Copié le lien]
Publié sur 28/11/2021 10:02:32 | | | |
systemd est un ensemble de blocs de base pour les systèmes Linux. Il fournit un gestionnaire de système et de service qui exécute et démarre le reste du système sous le PID 1.

systemd offre des capacités de parallélisation agressives, utilise des sockets et l’activation du D-Bus pour démarrer des services, fournit un démarrage à la demande des démons, utilise des groupes de contrôle Linux pour suivre les processus, maintient les montages et les points auto-montés, et implémente une logique de contrôle de service bien conçue basée sur la dépendance des transactions. systemd prend en charge les scripts init SysV et LSB et peut remplacer sysvinit.

D’autres sections incluent les démons de journal, les utilitaires pour contrôler les configurations de base du système telles que les noms d’hôte, les dates, les lieux, la gestion d’une liste des utilisateurs connectés et des conteneurs et machines virtuelles exécutants, les comptes système, les annuaires d’exécution et les paramètres, ainsi que la gestion des configurations de démons pour des réseaux simples, la synchronisation temporelle réseau, le transfert de journaux et la résolution de noms.

Le fichier de configuration systemd existe dans les trois dossiers suivants :         

/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。

/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。

/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。
Révision:

Linux examine la sortie journalière du service Systemd
https://www.itsvse.com/thread-10154-1-1.html

Jenkins (4) Ajouter un nœud Linux et l’enregistrer comme service
https://www.itsvse.com/thread-10120-1-1.html

CentOS 7 installe l’exportateur de nœuds
https://www.itsvse.com/thread-9969-1-1.html

Profil de l’unité

Un fichier d’unité dans systemd est un fichier qui encode des informations sur les différentes unités que systemd peut gérer, y compris les services, sockets, appareils, etc. Ce guide se concentre sur les services, auquel cas le fichier unitaire avec lequel nous travaillons est le fichier .service. Le fichier de configuration du dispositif varnish.service contient des informations sur la manière dont systemd doit exécuter, surveiller et gérer le démon du vernis.

Le bloc [Unit] est généralement le premier bloc du fichier de configuration et sert à définir les métadonnées de l’Unit et leur relation avec les autres Units. Ses principaux domaines sont les suivants.

  • Description : Une brève description
  • Documentation : L’adresse du document
  • Nécessite : D’autres unités dont dépend l’unité actuelle, et si elles ne fonctionnent pas, l’unité actuelle ne démarrera pas
  • Souhaits : D’autres unités qui fonctionnent avec l’unité actuelle, si elles ne fonctionnent pas, l’unité actuelle ne se mettra pas en échec
  • BindsTo : Similaire à Exiges, il spécifie une unité qui fait arrêter l’unité actuelle si elle se retire
  • Avant : Si l’Unité spécifiée dans ce champ doit également être lancée, elle doit être lancée après l’Unité actuelle
  • Après : Si l’Unité spécifiée dans ce champ doit également être lancée, elle doit être lancée avant l’Unité actuelle
  • Conflits : L’unité spécifiée ici ne peut pas fonctionner en même temps que l’unité actuelle
  • Condition... : Les conditions qui doivent être remplies pour que l’unité courante fonctionne, sinon elle ne fonctionnera pas
  • Affirmer... : Les conditions à remplir pour que l’unité actuelle fonctionne, sinon la panne de démarrage sera signalée

[Install] est généralement le dernier bloc du fichier de configuration qui définit comment démarrer et s’il faut démarrer. Ses principaux domaines sont les suivants.

  • WantedBy : Sa valeur est une ou plusieurs cibles, et lorsque l’unité actuelle est active (activée), le lien symmétrique est placé dans un sous-répertoire sous le dossier /etc/systemd/system avec le suffixe nom cible + .wantes
  • RequiredBy : Sa valeur est une ou plusieurs cibles, et lorsque l’unité actuelle est active, le lien symmétrique sera placé dans un sous-répertoire sous le répertoire /etc/systemd/system avec le nom cible + le suffixe .required
  • Alias : L’alias que l’Unité actuelle peut utiliser pour commencer
  • Aussi : lorsque l’unité actuelle est activée, d’autres unités seront activées en même temps

Le bloc [Service] est utilisé pour configurer le Service, et seules les unités du type Service possèdent ce bloc. Ses principaux domaines sont les suivants.

  • Type : Définit le comportement du processus au démarrage. Il possède les valeurs suivantes.
  • Type=simple : La valeur par défaut, exécuter la commande spécifiée par ExecStart pour lancer le processus principal
  • type=fork : Fork crée un processus enfant à partir du processus parent, qui sortira immédiatement après la création
  • Type=oneshot : Processus unique, Systemd attendra la sortie du service courant avant de continuer à exécuter
  • Type=dbus : Le service actuel commence via D-Bus
  • type=notify : Lorsque le service en cours est lancé, Systemd sera notifié et poursuivra l’exécution
  • type=idle : Le service courant ne s’exécutera que si d’autres tâches sont exécutées
  • ExecStart : La commande pour lancer le service en cours
  • ExecStartPre : La commande s’exécutait avant le lancement du service en cours
  • ExecStartPost : La commande exécutée après le lancement du service en cours
  • ExecReload : La commande exécutée lors du redémarrage du service en cours
  • ExecStop : La commande exécutée lorsque le service actuel est arrêté
  • ExecStopPost : Arrêter la commande exécutée lorsqu’elle est servie
  • RestartSec : Le nombre de secondes entre les services automatiques redémarre le service en cours
  • Redémarrage : Définit les circonstances dans lesquelles Systemd redémarrera automatiquement le service en cours, avec des valeurs possibles telles que toujours, sur succès, sur échec, sur-anormal, sur abort, sur watchdog
  • TimeoutSec : Définit le nombre de secondes d’attente de Systemd avant d’arrêter le service en cours
  • Environnement : Spécifier la variable environnement

Outil de gestion Systemctl

La gestion des programmes dans CentOS est essentiellement assurée par l’outil systemctl.

Service de démarrage :

systemctl start name.service

Arrêt du service :

systemctl stop name.service

Redémarrage du service :

systemctl restart name.service

Voir le statut :

systemctl statut name.service

Redémarrage conditionnel :

Si le service a été lancé auparavant, il sera relancé, et si le service n’est pas lancé, il ne sera pas exploité

systemctl try-restart name.service

Recharger ou redémarrer :

Rechargez d’abord, et si le rechargement échoue, redémarrez

systemctl reload-or-restart name.service

Rechargement ou redémarrage conditionnel :

systemctl reload-or-try-restart name.service

Détermine si le service peut être configuré par l’utilisateur pour lancer l’état

systemctl unmask name.service

SystemCTL mask name.service est interdit

Consultez le statut actuel d’activation du service :

La valeur de retour d’état de la commande service a commencé est 0 La valeur de retour de statut de la commande qui n’a pas été lancée est non-0

systemctl is-active name.service

Découvrez tous les services qui ont été activés :

-t Spécifie le type d’unité affichée.

--toutes affichent une liste d’informations plus détaillée.

-un équivalent --tous

Unités-liste SystemCTL

Service SystemCTL List-Units -T

SystemCTL list-unités -t service -a

Voir tous les services :

Systemctl List-unités -a

Voir tous les statuts de service :

Listes-unités-fichiers systemctl

-a 、--tous : Consultez l’état de tous les services

-t 、--type : Spécifie le type d’unité à observer

chargé : Le fichier de configuration a été chargé, chargé en mémoire

actif (en cours) : Exécutions qui sont traitées en continu une ou plusieurs fois

actif (sorti) : La configuration unique est réalisée avec succès

actif(en attente) : En cours, en attente d’un événement

inactive:不运行

enabled:开机启动

disabled:开机不启动

static:开机不启动,但可被另一个启用的服务激活

Utilisé pour indiquer à quels niveaux de fonctionnement le service est activé et désactivé

ls /etc/systemd/system/*.wants/sshd.service

SystemCTL list-unit-fichiers --type cible --tous

Pour régler le service pour qu’il ne démarre pas :

SystemCTL désactiver unité de nom de service

Vérifiez si le service est démarré et lancé :

SystemCTL is-activé name.service

Regardez les dépendances de service :

systemctl list-dependencies name.service
SystemCTL list-depebdencies

Service de charge lourde :

systemctl daemon-reload

Tuez le processus :

Nom du processus de destruction sysCTL

Ressources:

La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.
La connexion hyperlientérée est visible.





Précédent:Linux teste la connectivité LDAP en utilisant la commande Curl
Prochain:Problème de permission de fichier d’upload vsftp
 Propriétaire| Publié sur 11/12/2021 17:35:26 |
[Unité]Un bloc est généralement le premier bloc d’un fichier de configuration qui définit les métadonnées d’une Unité et leur lien avec les autres Unités. Ses principaux domaines sont les suivants.

Description : Une brève description
Documentation : L’adresse du document
Nécessite : D’autres unités dont dépend l’unité actuelle, et si elles ne fonctionnent pas, l’unité actuelle ne démarrera pas
Souhaits : D’autres unités qui fonctionnent avec l’unité actuelle, si elles ne fonctionnent pas, l’unité actuelle ne se mettra pas en échec
BindsTo : Similaire à Exiges, il spécifie une unité qui fait arrêter l’unité actuelle si elle se retire
Avant : Si l’Unité spécifiée dans ce champ doit également être lancée, elle doit être lancée après l’Unité actuelle
Après : Si l’Unité spécifiée dans ce champ doit également être lancée, elle doit être lancée avant l’Unité actuelle
Conflits : L’unité spécifiée ici ne peut pas fonctionner en même temps que l’unité actuelle
Condition... : Les conditions qui doivent être remplies pour que l’unité courante fonctionne, sinon elle ne fonctionnera pas
Affirmer... : Les conditions à remplir pour que l’unité actuelle fonctionne, sinon la panne de démarrage sera signalée
[Installation]C’est généralement le dernier bloc du fichier de configuration qui définit comment démarrer et s’il faut démarrer. Ses principaux domaines sont les suivants.

WantedBy : Sa valeur est une ou plusieurs cibles, et lorsque l’unité actuelle est active (activée), le lien symmétrique est placé dans un sous-répertoire sous le dossier /etc/systemd/system avec le suffixe nom cible + .wantes
RequiredBy : Sa valeur est une ou plusieurs cibles, et lorsque l’unité actuelle est active, le lien symmétrique sera placé dans un sous-répertoire sous le répertoire /etc/systemd/system avec le nom cible + le suffixe .required
Alias : L’alias que l’Unité actuelle peut utiliser pour commencer
Aussi : lorsque l’unité actuelle est activée, d’autres unités seront activées en même temps
[Service]Les blocs sont utilisés pour configurer les services, et seules les unités de type Service possèdent ce bloc. Ses principaux domaines sont les suivants.

Type : Définit le comportement du processus au démarrage. Il possède les valeurs suivantes.
Type=simple : La valeur par défaut, exécuter la commande spécifiée par ExecStart pour lancer le processus principal
type=fork : Fork crée un processus enfant à partir du processus parent, qui sortira immédiatement après la création
Type=oneshot : Processus unique, Systemd attendra la sortie du service courant avant de continuer à exécuter
Type=dbus : Le service actuel commence via D-Bus
type=notify : Lorsque le service en cours est lancé, Systemd sera notifié et poursuivra l’exécution
type=idle : Le service courant ne s’exécutera que si d’autres tâches sont exécutées
ExecStart : La commande pour lancer le service en cours
ExecStartPre : La commande s’exécutait avant le lancement du service en cours
ExecStartPost : La commande exécutée après le lancement du service en cours
ExecReload : La commande exécutée lors du redémarrage du service en cours
ExecStop : La commande exécutée lorsque le service actuel est arrêté
ExecStopPost : Arrêter la commande exécutée lorsqu’elle est servie
RestartSec : Le nombre de secondes entre les services automatiques redémarre le service en cours
Redémarrage : Définit les circonstances dans lesquelles Systemd redémarrera automatiquement le service en cours, avec des valeurs possibles telles que toujours, sur succès, sur échec, sur-anormal, sur abort, sur watchdog
TimeoutSec : Définit le nombre de secondes d’attente de Systemd avant d’arrêter le service en cours
Environnement : Spécifier la variable environnement


 Propriétaire| Publié sur 11/12/2021 17:37:33 |
Type=fork
SystemD pense que le service démarre avec succès lorsque le processus de service est forké et que le processus parent est retiré. Pour les daemons classiques, à moins d’être sûr que cette méthode de démarrage ne répond pas à vos besoins, vous pouvez commencer par ce type. Avec ce type de démarrage, PIDFile= doit également être spécifié afin que systemd puisse suivre le processus principal du service

 Propriétaire| Publié sur 15/12/2021 16:55:14 |
Commande EnvironmentFile

EnvironmentFile est similaire à la directive Environnement, mais lit les variables d’environnement à partir d’un fichier texte. Le fichier texte doit contenir des affectations de variables séparées par des sauts de ligne

exemple

Vous pouvez prendre ce fichier d’environnement et utiliser ses variables comme suit :



 Propriétaire| Publié sur 04/01/2022 15:56:55 |
 Propriétaire| Publié sur 05/01/2022 09:48:21 |
Chemin du fichier de service par défaut Docker /usr/lib/systemd/system/docker.service

 Propriétaire| Publié sur 23/01/2022 22:57:56 |
Voir tous les statuts de service



Demandez si un service est allumé, en prenant NFS comme exemple :

 Propriétaire| Publié sur 25/02/2025 17:01:08 |
Services à démarrage en vrac qui commencent par ABC

 Propriétaire| Publié sur 11/04/2025 15:57:14 |
DefaultTimeoutStartSec= et DefaultTimeoutStopSec= par défaut à 90 secondes dans le Gestionnaire système et 90 secondes dans le Gestionnaire utilisateur.

La connexion hyperlientérée est visible.

Consultez la configuration du service spécifié avec la commande suivante :


Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com