Maison >Opération et maintenance >CentOS >Comment gérer les services système avec SystemD dans CentOS?

Comment gérer les services système avec SystemD dans CentOS?

James Robert Taylor
James Robert Taylororiginal
2025-03-17 16:38:33683parcourir

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:

  1. Identifiez le nom du service : Tout d'abord, vous devez connaître le nom exact du service que vous souhaitez gérer. Vous pouvez répertorier tous les services disponibles avec systemctl list-units --type=service .
  2. Gestion des services de base : utilisez systemctl pour démarrer, arrêter, redémarrer ou vérifier l'état d'un service. Par exemple:

    • Démarrer un service: <code>sudo systemctl start service_name</code>
    • Arrêter un service: <code>sudo systemctl stop service_name</code>
    • Redémarrer un service: <code>sudo systemctl restart service_name</code>
    • Vérifier l'état du service: <code>sudo systemctl status service_name</code>
  3. 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.

    • Activer un service: <code>sudo systemctl enable service_name</code>
    • Désactiver un service: sudo systemctl disable service_name
  4. Vérifiez et modifiez la configuration du service : les services dans SystemD sont généralement définis dans les fichiers unitaires (généralement avec une extension .service ). Vous pouvez afficher ou modifier ces fichiers dans /etc/systemd/system/ ou /usr/lib/systemd/system/ .
  5. Recharger SystemD Configuration : Après avoir modifié les fichiers de service, vous devez recharger SystemD pour appliquer les modifications:

    • <code>sudo systemctl daemon-reload</code>
  6. Dépannage : Si un service ne commence pas, vous pouvez vérifier les journaux avec 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.

Quelles sont les commandes SystemD de base pour démarrer et arrêter les services sur 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 .

Comment puis-je activer un service pour démarrer automatiquement au démarrage à l'aide de Systemd dans CentOS?

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:

  1. 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/ .

  2. 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.

  3. 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>
  4. 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.

Que dois-je faire si un service ne commence pas sous Systemd sur CentOS?

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:

  1. 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é.

  2. 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>
  3. 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>
  4. Vérifier les dépendances : certains services dépendent d'autres services ou ressources système. Utilisez systemctl list-dependencies service_name pour voir de quoi dépend le service et assurez-vous que toutes les dépendances fonctionnent correctement.
  5. 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>
  6. Vérifiez les ressources du système : assurez-vous que votre système dispose de suffisamment de ressources (par exemple, mémoire, espace disque) pour exécuter le service. Utilisez des commandes comme free -h pour la mémoire et df -h pour l'espace disque pour vérifier.
  7. Consulter la documentation et les ressources communautaires : si les étapes ci-dessus ne résolvent pas le problème, consultez la documentation officielle du service ou demandez l'aide de forums communautaires comme Stack Overflow ou CentOS spécifiques aux forums.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn