Vraag Hoe een lijst van alle ingeschakelde services van systemctl?


Hoe kan ik alles opsommen enabled diensten van systemctl?

ik weet systmctl somt alle services op, maar ik wil alleen de enabled een keer.


137
2017-07-05 18:17


oorsprong


wat bedoel je met ingeschakeld? Bedoel je services die worden uitgevoerd? - Gen
@Gen het inschakelen van een service is heel anders dan het starten ervan. Zien man systemctl. - Jos
Zodat u weet dat ik mijn antwoord heb bijgewerkt.


antwoorden:


systemctl list-unit-files | grep enabled zal alles weergeven ingeschakeld degenen.

Als je wilt welke momenteel zijn lopend, jij hebt nodig systemctl | grep running.

Gebruik degene die je zoekt. Ingeschakeld, betekent niet dat het actief is. En hardlopen betekent niet dat het is ingeschakeld. Het zijn twee verschillende dingen.

Ingeschakeld betekent dat het systeem de service uitvoert bij de volgende keer opstarten. Dus als u een service inschakelt, moet u deze nog steeds handmatig starten of opnieuw opstarten en deze zal starten.

Lopen betekent dat het nu wordt uitgevoerd, maar als het niet is ingeschakeld, wordt het niet opnieuw opgestart wanneer u opnieuw opstart.


203
2017-07-05 18:52



vervelend om een ​​extern hulpmiddel (grep) te gebruiken om deze essentiële informatie te tonen. Maar bedankt dat je ons de weg wijst :) - Felipe Alvarez
@FelipeAlvarez Juist. Maar zo werkt Linux. Veel kleine binaries die goed met elkaar werken. systemctl doet wat wordt gevraagd, het geeft een overzicht van services. Er is geen filteropdracht ingebouwd in systemctl omdat grep al bestaat en dat goed kan doen met de uitvoer van elk programma. Het is hoe het altijd is geweest :) - Dorian
Daar ben ik het mee eens en zo hoort het ook. Maar systemd probeert al zoveel te doen dat ik me afvraag waarom het geen ingeschakelde services kan weergeven? - Felipe Alvarez
systemctl | grep running noteer niets voor mij! Zelfs als iets draait, staat alleen vermeld voor zijn status zoals: enabled, disabled, masked, static - Cirelli94
eenvoudiger: systemctl list-unit-files --state=running - Will


man systemctl luidt als volgt:

--state=

Het argument moet een door komma's gescheiden lijst met eenheden zijn LOAD, SUBof ACTIVE staten. Als u eenheden weergeeft, laat alleen die in de opgegeven staten zien. Gebruik --state=failed om alleen mislukte eenheden te tonen.

Uitleg:

LOAD: Geeft aan of de eenheidsdefinitie correct was geladen.
ACTIVE: De activeringsstatus op hoog niveau, d.w.z. de generalisatie van SUB.
SUB: De low-level unit activeringstoestand, waarden zijn afhankelijk van het eenheidstype.

Hoewel je dit ook kunt gebruiken om alleen te laten zien enabled eenheden met:

systemctl list-unit-files --state=enabled

Als een eenheid is enabled dat betekent dat het systeem het zal opstarten bij het opstarten. Hoewel iets instellen enabled eigenlijk ook niet start het moet je dus handmatig doen, of het systeem opnieuw opstarten nadat je het hebt ingesteld enabled.


43
2017-07-05 18:58



Beantwoordt de vraag niet; active ! = enabled. - Reinier Post
@ReinierPost: ik kan er niets aan doen dat de manpage daar geen informatie over geeft, ik gaf het beste antwoord dat ik kon met de informatie die ik had. Zoals u kunt zien, is er nog een ander antwoord dat wordt aanvaard.
Ik weet het, maar het is verkeerd (misleidend) om een ​​verkeerd antwoord ongewijzigd te houden, en iedereen lijkt het te doen als het om deze specifieke vraag gaat (dit is niet het enige geval). - Reinier Post
Nee, dat is een reden om je antwoord te kwalificeren. - Reinier Post
Om tegelijkertijd in te schakelen en te starten: systemctl enable --now ... - Aurélien Ooms


  1. Om alle systemd service die binnen zijn state=active en sub=running

    systemctl list-units --type=service --state=running
    
  2. Om alle systemd serice die binnen zijn state=active en sub ofwel lopen of verlaten

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

Ik hoop dat dit het probleem oplost.


34
2017-09-14 03:59



Absoluut een verbetering van het geaccepteerde antwoord. Bedankt! - smac89


Om 'enabled' services te zien, inclusief deze die nog onder de start / init run staan:

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

Om alle lopende services te zien:

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

1
2017-07-30 16:51