Hvordan får jeg en liste over alle aktiverede tjenester fra systemctl?

Hvordan kan jeg få en liste over alle aktiverede tjenester fra systemctl?

Jeg ved at kommandoen systemctl i sig selv viser alle tjenester, men jeg vil gerne kun få vist de aktiverede tjenester.

Løsning

systemctl list-unit-files | grep enabled vil liste alle aktiverede filer.

Hvis du vil vide, hvilke af dem der i øjeblikket kører, skal du bruge systemctl | grep running.

Brug den, du leder efter. Aktiveret betyder ikke, at den kører. Og kørende betyder ikke, at den er aktiveret. Det er to forskellige ting.

Aktiveret betyder, at systemet vil køre tjenesten ved næste opstart. Så hvis du aktiverer en tjeneste, skal du stadig starte den manuelt eller genstarte den, så den starter.

Kører betyder, at den faktisk kører lige nu, men hvis den ikke er aktiveret, vil den ikke genstarte, når du genstarter.

Kommentarer (15)

man systemctl angiver:

--state=

Argumentet skal være en kommasepareret liste over enhedstilstande LOAD, SUB eller ACTIVE. Når du viser enheder, vises kun dem i de angivne tilstande. Brug --state=failed for kun at vise enheder, der har fejlet.

Forklaring:

LOAD: Angiver, om enhedsdefinitionen blev indlæst korrekt.
ACTIVE: Enhedens aktiveringstilstand på højt niveau, dvs. en generalisering af SUB.
SUB: Værdierne afhænger af enhedens type.

Selvom du også kan bruge dette til kun at vise aktiverede enheder med:

systemctl list-unit-files --state=enabled

Hvis en enhed er aktiveret betyder det, at systemet vil starte den ved opstart. Selvom det at sætte noget til enabled faktisk ikke også starter det, så du skal gøre det manuelt, eller genstarte systemet efter at have sat det til enabled.

Kommentarer (3)

Sådan får du en liste over alle systemd-tjenester, der er i state=active og sub=running

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

Sådan vises alle systemd-tjenester, som er i state=active og sub enten kører eller er afsluttet

systemctl list-units --type=service --state=active
Kommentarer (0)