Maison >Opération et maintenance >CentOS >Comment gérer les services système avec SystemD dans CentOS?
La gestion des services système avec SystemD dans CentOS implique une série de commandes qui vous permettent de contrôler le cycle de vie des services, de le démarrer et de les arrêter pour leur permettre de démarrer automatiquement au démarrage. SystemD est le système INIT par défaut sur les versions CentOS 7 et ultérieures, remplaçant l'ancien système sysvinit. Voici comment gérer les services avec Systemd:
systemctl list-units --type=service
. Gestion des services de base : utilisez systemctl
pour démarrer, arrêter, redémarrer ou vérifier l'état d'un service. Par exemple:
Activer / désactiver les services au démarrage : vous pouvez activer ou désactiver les services pour démarrer automatiquement au démarrage du système.
sudo systemctl disable service_name
.service
). Vous pouvez afficher ou modifier ces fichiers dans /etc/systemd/system/
ou /usr/lib/systemd/system/
.Recharger SystemD Configuration : Après avoir modifié les fichiers de service, vous devez recharger SystemD pour appliquer les modifications:
journalctl
pour diagnostiquer les problèmes. Par exemple, <code>sudo journalctl -u service_name</code> affichera des journaux liés à ce service.En suivant ces étapes, vous pouvez gérer efficacement les services système avec SystemD dans CentOS.
Les commandes SystemD de base pour le démarrage et l'arrêt des services sur CentOS font partie de l'utilitaire systemctl
. Voici les commandes que vous utilisez couramment:
Démarrer un service : Pour démarrer un service, utilisez la commande start
suivie du nom du service:
<code>sudo systemctl start service_name</code>
Arrêtez un service : Pour arrêter un service, utilisez la commande stop
:
<code>sudo systemctl stop service_name</code>
Redémarrez un service : pour redémarrer un service, qui s'arrête puis le démarre, utilisez:
<code>sudo systemctl restart service_name</code>
Recharger un service : Si un service prend en charge le rechargement de sa configuration sans redémarrer, vous pouvez utiliser:
<code>sudo systemctl reload service_name</code>
Vérifier l'état du service : pour vérifier l'état actuel d'un service, utilisez:
<code>sudo systemctl status service_name</code>
Ces commandes sont fondamentales pour gérer les services dans CentOS à l'aide de SystemD. Vous devrez exécuter ces commandes avec des privilèges racine, d'où l'utilisation de sudo
.
Pour activer un service pour démarrer automatiquement au démarrage à l'aide de SystemD dans CentOS, vous devez utiliser la commande enable
dans systemctl
. Voici comment vous pouvez le faire:
Activer le service : utilisez la commande enable
pour vous assurer que le service démarre automatiquement au démarrage:
<code>sudo systemctl enable service_name</code>
Cette commande crée un lien symbolique à partir du fichier de service dans /etc/systemd/system/
vers le répertoire wants
approprié, tel que /etc/systemd/system/multi-user.target.wants/
.
Vérifiez que le service est activé : après l'activation du service, vous pouvez vérifier son état pour vous assurer qu'il est défini pour démarrer au démarrage:
<code>sudo systemctl is-enabled service_name</code>
Cela doit renvoyer "activé" si le service est défini pour démarrer au démarrage.
Démarrez le service immédiatement (facultatif) : Si vous souhaitez que le service commence immédiatement et pas seulement au démarrage suivant, vous pouvez le démarrer manuellement:
<code>sudo systemctl start service_name</code>
Redémarrer pour confirmer : pour confirmer que le service démarre automatiquement au démarrage, vous pouvez redémarrer votre système et vérifier l'état du service par la suite:
<code>sudo reboot</code>
Une fois le système sauvegardé, vérifiez l'état du service:
<code>sudo systemctl status service_name</code>
En suivant ces étapes, vous vous assurez que le service est activé et démarrera automatiquement lorsque votre système CentOS s'oppose.
Si un service ne parvient pas à démarrer sous Systemd sur CentOS, vous pouvez prendre les mesures suivantes pour diagnostiquer et résoudre le problème:
Vérifiez l'état du service : commencez par vérifier l'état actuel du service pour voir s'il y a des messages d'erreur immédiats:
<code>sudo systemctl status service_name</code>
Cette commande peut fournir des indices initiaux sur les raisons pour lesquelles le service a échoué.
Afficher les journaux du service : utilisez journalctl
pour consulter les journaux du service spécifique. Cela peut fournir des informations détaillées sur ce qui aurait pu mal se passer:
<code>sudo journalctl -u service_name</code>
Vous pouvez également limiter la sortie aux journaux les plus récents en ajoutant l'option -n
:
<code>sudo journalctl -u service_name -n 50</code>
Vérifiez les problèmes de configuration : assurez-vous que le fichier de configuration du service est correct. Les fichiers de configuration sont généralement situés dans /etc/systemd/system/
ou /usr/lib/systemd/system/
. Vous pouvez les modifier avec votre éditeur de texte préféré:
<code>sudo nano /etc/systemd/system/service_name.service</code>
Après avoir apporté des modifications, n'oubliez pas de recharger Systemd pour appliquer les modifications:
<code>sudo systemctl daemon-reload</code>
systemctl list-dependencies service_name
pour voir de quoi dépend le service et assurez-vous que toutes les dépendances fonctionnent correctement.Essayez de démarrer manuellement : essayez de démarrer le service manuellement pour voir si vous pouvez obtenir des messages d'erreur supplémentaires:
<code>sudo systemctl start service_name</code>
free -h
pour la mémoire et df -h
pour l'espace disque pour vérifier.En suivant systématiquement ces étapes, vous devriez être en mesure de diagnostiquer et de résoudre les problèmes avec des services qui ne commencent pas sous Systemd sur CentOS.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!