Come posso elencare tutti i enabledservizi da systemctl?
So che eseguire il systemctlcomando da solo elenca tutti i servizi, ma vorrei ottenere solo enabledquelli.
man systemctl.
Come posso elencare tutti i enabledservizi da systemctl?
So che eseguire il systemctlcomando da solo elenca tutti i servizi, ma vorrei ottenere solo enabledquelli.
man systemctl.
Risposte:
systemctl list-unit-files | grep enabledelencherà tutti quelli abilitati .
Se si desidera quali sono attualmente in esecuzione , è necessario systemctl | grep running.
Usa quello che stai cercando. Abilitato, non significa che sia in esecuzione. E correre non significa che sia abilitato. Sono due cose differenti.
Abilitato significa che il sistema eseguirà il servizio all'avvio successivo. Pertanto, se si abilita un servizio, è comunque necessario avviarlo manualmente o riavviare e si avvierà.
In esecuzione significa che è effettivamente in esecuzione in questo momento, ma se non è abilitato, non si riavvierà al riavvio.
systemctl | grep runningnon elencare nulla per me! Anche se qualcosa è in esecuzione è elencato solo per il suo stato come:enabled, disabled, masked, static
systemctl list-unit-files --state=running
man systemctl stati:
--state=L'argomento dovrebbe essere un elenco separato da virgole di unità
LOAD,SUB, oACTIVEstati. Quando elenchi le unità, mostra solo quelle negli stati specificati. Utilizzare--state=failedper mostrare solo le unità guaste.
Spiegazione:
LOAD: Indica se la definizione dell'unità è stata caricata correttamente.
ACTIVE: Lo stato di attivazione dell'unità di alto livello, ovvero la generalizzazione di SUB.
SUB: Lo stato di attivazione dell'unità di basso livello, i valori dipendono dal tipo di unità.
Puoi anche usare questo per mostrare solo le enabledunità con:
systemctl list-unit-files --state=enabled
Se un'unità enabledindica che il sistema la avvierà all'avvio. Anche se l'impostazione di qualcosa in enabledrealtà non lo fa start, è necessario farlo manualmente o riavviare il sistema dopo averlo impostato su enabled.
systemctl enable --now ...
--state=enablednon ha alcun effetto su systemd versione 215 (su Raspbian 8 Jessie), ma funziona su systemd versione 229 (su Ubuntu 16.04.03 Xenial).
Per elencare tutti i systemdservizi che sono in state=activeesub=running
systemctl list-units --type=service --state=running
Per elencare tutti i systemdserice che sono presenti state=activee secondari in esecuzione o in uscita
systemctl list-units --type=service --state=active
Per vedere i servizi "abilitati" inclusi quelli che sono ancora in fase di avvio / avvio:
systemctl list-unit-files --type service --state enabled,generated
Per vedere tutti i servizi attualmente in esecuzione in esecuzione:
systemctl list-units --type service --state running
sshdcontro sshe syslogcontro rsyslog.
Panoramica anche di tutti i servizi attivi e falliti:
systemctl list-units --type service --state running,failed