web-dev-qa-db-fra.com

Comment lister tous les services activés de systemctl?

Comment lister tous les services enabled à partir de systemctl?

Je sais que l'exécution de la commande systemctl par elle-même répertorie tous les services, mais j'aimerais uniquement obtenir les enabled.

238
oceanBT

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

Si vous voulez savoir lesquels sont actuellement en cours d'exécution, vous avez besoin de systemctl | grep running.

Utilisez celui que vous cherchez. Activé ne signifie pas qu'il est en cours d'exécution. Et courir ne veut pas dire que c'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 manuellement ou le redémarrer et il démarrera.

En cours d'exécution signifie qu'il fonctionne actuellement, mais s'il n'est pas activé, il ne redémarrera pas au redémarrage.

355
Dorian

man systemctl déclare:

--state=

L'argument doit être une liste séparée par des virgules d'états unité LOAD, SUB ou ACTIVE. Lors de la liste des unités, affichez uniquement celles dans les états spécifiés. Utilisez --state=failed pour afficher uniquement les unités en échec.

Explication:

LOAD: Indique si la définition de l'unité a été chargée correctement.
ACTIVE: État d’activation de l’unité de haut niveau, c’est-à-dire la généralisation de SUB.
SUB: État d'activation de l'unité de bas niveau, les valeurs dépendent du type d'unité.

Vous pouvez également utiliser cette option 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 la démarrera au démarrage. Bien que définir quelque chose sur enabled ne signifie pas aussi start, vous devrez le faire manuellement ou redémarrer le système après l'avoir défini sur enabled.

80
user364819

Pour répertorier tous les services systemd qui se trouvent dans state=active et sub=running

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

Pour répertorier tous les serices systemd qui se trouvent dans state=active et que ceux-ci sont en cours d'exécution ou sortis

systemctl list-units --type=service --state=active
60
Ankit Kumar Honey

Pour voir les services "activés", y compris ceux qui sont encore en cours d’exécution:

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
7
nix-power