GNU/Linux >> Tutoriels Linux >  >> Linux

Utiliser Systemctl pour gérer les services

Qu'est-ce que Systemctl ?

Systemctl est l'outil de gestion central pour contrôler le systemd init système. En tant que tel, vous utilisez le plus souvent cette commande pour interagir avec le systemd système. La plupart des distributions Linux® utilisent systemd comme leur init system, il est donc utile de se familiariser avec l'utilisation de systemctl fonction lors de la gestion des services exécutés sur votre système Linux.

Gérer les services

L'exemple suivant montre le modèle de commande de base pour l'utilisation de systemctl commande :

systemctl (command) (service)

Cela diffère de la commande de service, utilisez un service (service) (commande) format, qui utilise des commandes telles que service httpd reload to reload the Apache service . En utilisant cet exemple de nom sous le systemctl format, la commande ressemble aux exemples suivants :

Systèmes basés sur CentOS® ou Red Hat® Enterprise Linux® :

systemctl reload httpd

Systèmes d'exploitation Ubuntu :

systemctl reload apache2

Remarque : Vous n'êtes pas obligé d'inclure le .service après le nom du service que vous souhaitez gérer.Systemctl est suffisamment intelligent pour savoir que vous essayez d'exploiter un service lorsque vous utilisez des commandes de gestion de service.

Voici certains systemctl courants commandes :

  • commencer  :Démarrer un service qui n'est pas en cours d'exécution
  • arrêter :Arrête un service en cours d'exécution
  • redémarrer  :Redémarrer un service en cours d'exécution
  • recharger  :effectuer un redémarrage progressif d'un service en cours d'exécution
  • activer  :Activez un service pour qu'il démarre automatiquement à chaque redémarrage du système
  • désactiver :Empêcher un service de démarrer automatiquement au redémarrage du système
  • statut  :vérifier l'état actuel d'un service sur votre système

Remarque :Le reload l'option n'est pas toujours disponible. Vous pouvez utiliser reload-or-restart à la place si vous n'êtes pas sûr de reload disponibilité. Utilisation de reload-or-restart tente d'utiliser reload d'abord, et utilise restart si reload n'est pas disponible.

Voici quelques options moins courantes :

  • est actif  :Vérifiez si une unité est actuellement active (en cours d'exécution)
  • est activé :Vérifiez si un service est activé ou désactivé
  • est-échoué :Vérifie si un service est en échec état
  • list-units :Vérifiez toutes les unités qui systemd considère actuellement comme actif sur le système

La commande list-units

Les list-units affiche un tableau avec les colonnes suivantes :

  • UNITÉ :Le nom de l'unité (ou du service) systemd
  • CHARGER :Le service actuellement chargé dans systemd
  • ACTIF  :Un résumé indiquant si le service est actuellement actif
  • SOUS :Donne un peu plus de détails sur l'état actuel du service
  • DESCRIPTION  :Une brève description de ce qu'est ou fait le service

Ajout du --all argument de list-units systemctl la commande inclut tout service que systemd chargé ou tenté de charger quel que soit son état actuel sur le système, comme illustré dans l'exemple suivant :

systemctl list-units --all

Vous pouvez utiliser les list-units La commande peut être utilisée de plusieurs manières supplémentaires, telles que l'ajout de --state= filtre, comme illustré dans l'exemple suivant :

systemctl list-units --all --state=(filter)

En règle générale, vous utilisez cette option pour filtrer les résultats en fonction de l'état actuel du service, soit active ou inactive , comme illustré dans l'exemple suivant :

systemctl list-units --all --state=inactive

Vous pouvez filtrer davantage les résultats en ajoutant l'argument suivant :

systemctl list-units --type=(filter)

Cette option indique à systemctl pour répertorier uniquement les services du type spécifié. Par exemple, remplacer (filter) avec(service) dans la commande précédente répertorie uniquement les unités de service actives.

De même, vous pouvez utiliser la commande systemctl list-units-files lister tous les fichiers d'unité disponibles dans le systemd chemin, y compris ceux que systemd n'a pas essayé de charger.

La commande de masque

Si vous avez besoin d'empêcher le démarrage d'un service, manuellement ou automatiquement, vous pouvez utiliser le mask commande avec systemctl .Par exemple, supposons que vous souhaitiez vous assurer qu'Apache® ne s'exécute pas. Si vous n'exécutez pas en tant que root, vous devez placer le sudo commande devant la commande. Sinon, la commande ressemble à l'exemple suivant :

systemctl mask httpd.service

ou

systemctl mask apache2.service

Lorsque vous souhaitez décocher le service, remplacez le mask précédent avec unmask , et le service peut redémarrer.

Conclusion

Bien qu'il existe des utilisations plus avancées du systemctl , ce sont les options d'utilisation que vous utiliserez le plus souvent. Vous êtes maintenant familiarisé avec les utilisations les plus courantes de systemctl lors de l'interaction avec systemd . Systemctl est votre principale méthode d'interaction pour la gestion des services.


Linux
  1. Gérer plusieurs instances de service avec systemctl

  2. Comment gérer les services Systemd avec Systemctl sous Linux

  3. Comment utiliser la commande Systemctl pour gérer les services Systemd

  4. Comment gérer les services Linux avec la commande systemctl

  5. Commandes de service de base

Comment démarrer, arrêter ou redémarrer les services dans CentOS 8

Premiers pas avec systemctl

Comment redémarrer les services sur la ligne de commande Ubuntu

Comment utiliser systemctl sous Linux

Services réseau

Manière correcte d'utiliser Ubuntu systemctl pour contrôler Systemd