Comment lister tous les services activés à partir de systemctl?

123

Comment puis-je répertorier tous les services enabled de systemctl ?

Je sais que systmctl liste tous les services mais je voudrais obtenir uniquement le enabled une fois.

    
posée oceanBT 05.07.2016 - 20:17
la source

4 réponses

184

systemctl list-unit-files | grep enabled listera tous les activés .

Si vous voulez savoir lesquels sont exécutés actuellement , vous avez besoin de systemctl | grep running .

Utilisez celui que vous recherchez. Activé, ne signifie pas qu'il est en cours d'exécution. Et courir ne signifie pas qu'il est activé. Ce sont deux choses différentes.

Activé signifie que le système exécutera le service au prochain démarrage. Donc, si vous activez un service, vous devez toujours le démarrer ou le redémarrer manuellement et cela démarrera.

En cours d'exécution signifie qu'il est en cours d'exécution maintenant, mais s'il n'est pas activé, il ne redémarrera pas lorsque vous redémarrerez.

    
réponse donnée Dorian 05.07.2016 - 20:52
la source
42

man systemctl déclare:

   --state=
       The argument should be a comma-separated list of unit LOAD, SUB, or ACTIVE states. When listing units, show only those in the specified
       states. Use --state=failed to show only failed units.

Explication:

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

Bien que vous puissiez aussi l'utiliser pour afficher uniquement les unités enabled avec:

systemctl list-unit-files --state=enabled

Si une unité est enabled , cela signifie que le système le démarrera au démarrage. Bien que définir quelque chose sur enabled ne correspond pas réellement à start , vous devrez donc le faire manuellement ou redémarrer le système après l'avoir défini sur enabled .

    
réponse donnée user364819 05.07.2016 - 20:58
la source
31
  1. Pour répertorier tous les services systemd qui sont dans state=active et sub=running

    systemctl list-units --type=service --state=running
    
  2. Pour répertorier tous les serice systemd qui sont dans state=active et sous soit en cours d'exécution, soit en sortie

    systemctl list-units --type=service --state=active
    

J'espère que cela résoudra le problème.

    
réponse donnée Ankit Kumar Honey 14.09.2017 - 05:59
la source
0

Pour voir les services «activés», y compris ceux qui sont toujours en cours d’exécution / init:

systemctl list-unit-files --type service --state enabled,generated

Pour voir tous les services en cours d'exécution:

systemctl list-units --type service --state running
    
réponse donnée nix-power 30.07.2018 - 18:51
la source

Lire d'autres questions sur les étiquettes