Si të listoni shërbimet Linux me systemctl
Përmbledhje: Për të parë të gjitha shërbimet e ekzekutuara në një sistem Linux me systemd, përdorni komandën systemctl --type=service --state=running. Kjo do t'ju tregojë emrin, ngarkesën, nën-gjendjen dhe përshkrimin e çdo shërbimi aktiv. Ju gjithashtu mund të ndryshoni vlerën e gjendjes për të parë shërbimet që janë të vdekura, të dala, të dështuara ose joaktive.
Kompjuteri juaj Linux mbështetet në shumë detyra në sfond të quajtura shërbime ose demonë. Në shpërndarjet e bazuara në sistem ju keni komanda të integruara që ju lejojnë të shihni se cilat shërbime po ekzekutohen, çaktivizohen ose dështojnë.
Shërbimet dhe demonët
Shërbimet dhe demonët janë detyra në sfond që funksionojnë pa një ndërfaqe përdoruesi, nuk kërkojnë ndërveprim njerëzor dhe zakonisht fillojnë kur kompjuteri niset.
Në një kohë, shërbimet u lansuan nga init
, që ishte procesi i parë që u nis. Detajet e shërbimeve mbaheshin në një koleksion skriptesh të vendosura në drejtorinë /etc/init/d. Për shpërndarjet jo sistematike, kjo është ende rasti.
Në botën e sistemuar, shërbimet lansohen nga systemd
që është tashmë procesi i parë që niset. Detajet e shërbimeve ruhen në skedarët e njësisë të vendosura në drejtorinë /usr/lib/systemd.
Sipas faqes së tij të personelit, systemd
është një menaxher sistemi dhe shërbimi. Ju mund të përdorni komandën systemctl
për të inspektuar dhe kontrolluar aspekte të ndryshme të sistemit systemd, duke përfshirë shërbimet dhe demonët.
Për shkak se ne po shikojmë komandat specifike për systemd këtu, gjëja e parë që duhet të dini është nëse po ekzekutoni një shpërndarje të bazuar në systemd apo jo.
init Ose i bazuar në sistem?
Shumica dërrmuese e shpërndarjeve Linux përdorin systemd, duke përfshirë Arch, Red Hat dhe Debian, dhe shumë prej shpërndarjeve që rrjedhin prej tyre. Kjo përfshin familjen e shpërndarjeve të Ubuntu, Fedora dhe rrotullimet e saj, dhe Manjaro dhe shpërndarjet e tjera të bazuara në Arch.
Megjithatë, ka pirunë ose shije të disa prej këtyre shpërndarjeve që janë krijuar posaçërisht për të shmangur përdorimin e systemd. Jo vetëm kaq, por ka sisteme të tjera init që dikush mund të zgjedhë t'i përdorë në vend të atij që erdhi si parazgjedhje në shpërndarjen e tyre, si p.sh. runit ose s6-linux-init.
Nëse ju duhet të administroni një kompjuter Linux që nuk e keni konfiguruar vetë, mënyra e vetme për të qenë i sigurt nëse po përdor systemd apo jo, është të kontrolloni. Këtë mund ta bëjmë duke parë pemën e procesit me komandën pstree
. Na duhet vetëm të shohim majën e pemës—në fund të fundit jemi duke kërkuar për procesin e parë që ekzekutohet—kështu që do ta përcjellim daljen përmes komandës head
dhe do të kërkojmë pesë hyrjet e para.
pstree | head -5
Mund të shohim se systemd
është procesi i parë që ekzekutohet pas nisjes, kështu që ne jemi padyshim në një instalim të bazuar në sistem të Linux.
Përdorimi i systemctl për të listuar shërbimet
Komanda për të renditur shërbimet dhe demonët është systemctl
. Ne mund të përsosim komandën systemctl
me opsionet type
dhe state
. Ne po kërkojmë nga systemctl
të raportojë për shërbimet që janë në gjendje funksionimi.
systemctl --type=service --state=running
Krijohet një tabelë informacioni. Nëse është shumë i gjerë ose i gjatë për dritaren tuaj të terminalit, ai shfaqet në shikuesin e skedarit tuaj të paracaktuar, i cili ka të ngjarë të jetë më pak
.
Për të parë skajin e djathtë të tabelës, shtypni tastin e shigjetës djathtas. Për t'u kthyer në pamjen e zakonshme, shtypni tastin e shigjetës majtas.
Shtypni tastin Q për të dalë nga më pak. Kolonat që shfaqen janë:
- Njësi: Emri i shërbimit ose demonit. Kolona titullohet Njësi sepse çdo gjë që ndodhet në këtë kolonë është nisur duke përdorur informacionin
systemd
që gjendet në një skedar njësi. - Ngarkimi: Gjendja e ngarkesës së shërbimit ose demonit. Mund të ngarkohet, të mos gjendet, të ketë cilësim të keq, të ketë gabim ose të maskohet.
- Aktiv: Gjendja e përgjithshme në të cilën ndodhet shërbimi ose daemon. Mund të jetë aktiv, duke u ringarkuar, joaktiv, i dështuar, duke u aktivizuar ose çaktivizuar.
- SUB: Nën-gjendja e shërbimit ose demonit. Mund të jetë i vdekur, i dalë, i dështuar, joaktiv ose i ekzekutuar.
- Përshkrim: Një përshkrim i shkurtër i njësisë.
Ne mund të kalojmë daljen e systemctl
përmes grep
nëse duam të fokusohemi në një shërbim të vetëm. Kjo komandë izolon hyrjen e tabelës për shërbimin ssh
.
systemctl --type=service --state=running | grep ssh
Deri më tani, ne kemi filtruar përmbajtjen e tabelës duke ofruar opsionin state=running
. Në vend të kësaj, ne mund të përdorim cilindo nga vlerat e mundshme të nënshtetit: i vdekur, i dalë, i dështuar, joaktiv ose i ekzekutuar.
Le të kërkojmë shërbime të dështuara:
systemctl --type=service --state=failed
Mund të përdoren kombinime të nënshteteve. Shkruani ato si një listë të ndarë me presje. Sigurohuni që të mos përfshini asnjë hapësirë të bardhë midis opsioneve. Vini re se kjo gjen shërbime që përputhen me njërin nga shtet.
systemctl --type=service --state=failed,exited
Shtypja e tastit Shigjeta djathtas për të parë kolonat jashtë ekranit tregon se kemi një përzierje shërbimesh të dala dhe të dështuara në listë.
Si parazgjedhje, systemctl
liston proceset—shërbimet dhe demonët—që janë nisur nga systemd
sepse systemd
gjeti një skedar njësi që përmbante një skedar të vlefshëm njësi për ata. Kjo është arsyeja pse termi stenografi për të gjitha këto procese është njësi.
Ekziston një opsion për të kërkuar në mënyrë eksplicite systemctl
për të listuar njësitë, por pasi është veprimi i paracaktuar, nuk përdoret shpesh.
Këto komanda japin të njëjtat rezultate.
sudo systemctl list-units --type=service --state=running
sudo systemctl --type=service --state=running
Përdorimi i systemctl për të listuar skedarët e njësisë
Ne mund të zgjerojmë fushën e komandës systemctl
duke përfshirë opsionin list-unit-files
. Kjo nuk raporton vetëm për shërbimet dhe demonët që janë nisur, por gjithashtu liston të gjithë skedarët e njësisë të instaluara në kompjuterin tuaj.
systemctl list-unit-files --state=enabled
Shfaqet një tabelë me ngjyra.
Heqja e opsionit state
heq filtrimin. Dalja do të përmbajë të gjithë skedarët e instaluar të njësisë, pavarësisht nga gjendja e tyre.
systemctl list-unit-files
Dalja do të përmbajë shumë më tepër hyrje sesa rezultatet nga komandat e mëparshme.
Në kompjuterin tonë testues, lista e rezultateve është pothuajse katër herë më e gjatë se prodhimi i komandave tona të mëparshme.
Nëse dëshironi të përdorni opsionin state
, mund të përdorni disa gjendje me të siç e pamë më parë. Të njëjtat rregulla zbatohen. Jepni opsionet si vlera të ndara me presje dhe mos përfshini asnjë hapësirë të bardhë.
Kjo komandë do të listojë të gjithë skedarët e njësisë që ose janë çaktivizuar ose nuk janë lëshuar.
systemctl list-unit-files --state=enabled,failed
Shfaqet një numër i reduktuar rezultatesh, i filtruar sipas zgjedhjeve që keni bërë me opsionin e gjendjes.
Duke parë një shërbim në detaje
Nëse diçka në lidhje me një shërbim ose demon ju tërheq interesin dhe meriton një zhytje më të thellë, mund ta shikoni atë në detaje duke përdorur opsionin e statusit systemctl.
Le të hedhim një vështrim në demonin SSH, sshd. Gjithçka që duhet të bëjmë është të përdorim opsionin e statusit dhe emrin e shërbimit ose demonit.
systemctl status sshd
Ky ekran kompakt tregon:
- Emri i shërbimit së bashku me një përshkrim të shkurtër. Një pikë e koduar me ngjyra tregon nëse po funksionon apo jo. E gjelbra do të thotë se po vrapon, e kuqja do të thotë se nuk është.
- Ajo që u ngarkua, duke përfshirë shtegun për në skedarin e njësisë.
- Sa kohë ka funksionuar.
- Ku ndodhet dokumentacioni në manualin
man
. - ID-ja e procesit të shembullit të ekzekutimit.
- Sa raste të njëkohshme të këtij shërbimi po ekzekutohen. Zakonisht kjo do të jetë një.
- Sa memorie po konsumohet.
- Sa kohë CPU është konsumuar.
- Grupi i kontrollit të cilit i përket shërbimi.
Gjithashtu shfaqen shënimet përkatëse nga regjistri i sistemit. Këto janë zakonisht ngjarje të tilla si fillimi i shërbimit. Këto mund të jenë informuese nëse jeni duke kërkuar për një shërbim ose demon që nuk është nisur si duhet.
Sistemet Autonome
Shërbimet dhe demonët ofrojnë shumë nga veprimet automatike të sistemit tuaj operativ, kështu që ato janë jetike. Kjo do të thotë se shëndeti i tyre është gjithashtu jetik.
Marrja e një pamjeje mbi shërbimet tuaja, demonët dhe skedarët e njësive është e lehtë dhe informuese. Është gjithashtu një hap i vlefshëm për zgjidhjen e problemeve nëse një shërbim ose demon refuzon të fillojë.