Kuidas loetleda kõiki lubatud teenuseid systemctl'ist?

Kuidas ma saan loetleda kõik "aktiveeritud" teenused "systemctl" abil?

Ma tean, et käsu systemctl käivitamine iseenesest loetleb kõik teenused, kuid ma tahaksin saada ainult aktiveeritud teenuseid.

Lahendus

systemctl list-unit-files | grep enabled loetleb kõik aktiveeritud failid.

Kui soovite, millised neist on hetkel käivituses, on vaja systemctl | grep running.

Kasutage seda, mida otsite. Lubatud, ei tähenda, et see töötab. Ja töötab ei tähenda, et see on lubatud. Need on kaks erinevat asja.

Lubatud tähendab, et süsteem käivitab teenuse järgmisel käivitamisel. Seega, kui te lubate teenuse, peate te selle ikkagi käsitsi käivitama või taaskäivitama ja see käivitub.

Running tähendab, et teenus töötab praegu, kuid kui see ei ole lubatud, ei käivitu ta taaskäivitamisel.

Kommentaarid (15)

man systemctl väidab:

--state=

Argument peaks olema komadega eraldatud loend üksuste LOAD, SUB või ACTIVE olekutest. Üksuste loetelus näidatakse ainult neid, mis on määratud olekus. Kasutage --state=failed, et näidata ainult ebaõnnestunud üksusi.

Selgitus:

LOAD: Peegeldab, kas üksuse määratlus laaditi korralikult.
ACTIVE: Kõrgetasemeline üksuse aktiveerimise olek, st SUB üldistus.
SUB: Madala taseme üksuse aktiveerimise seisund, väärtused sõltuvad üksuse tüübist.

Kuigi seda saab kasutada ka selleks, et näidata ainult aktiveeritud üksusi:

systemctl list-unit-files --state=enabled

Kui üksus on aktiveeritud, tähendab see, et süsteem käivitab selle käivitamisel. Kuigi millegi seadistamine enabled ei käivita seda tegelikult ka, nii et sa pead seda käsitsi tegema või süsteemi pärast enabled seadistamist taaskäivitama.

Kommentaarid (3)

Et loetleda kõiki systemd teenuseid, mille olek on state=active ja sub=running.

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

Loetleda kõik systemd-teenused, mis on olekus state=active ja sub kas käivitatud või lõpetatud.

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