Sådan vises en liste over alle kørende tjenester under Systemd i Linux


Et Linux-system leverer en række systemtjenester (såsom processtyring, login, syslog, cron osv.) Og netværkstjenester (såsom fjernlogin, e-mail, printere, webhosting, datalagring, filoverførsel, domænenavn opløsning (ved hjælp af DNS), dynamisk IP-adressetildeling (ved hjælp af DHCP) og meget mere).

Teknisk set er en tjeneste en proces eller en gruppe af processer (almindeligvis kendt som dæmoner), der kører kontinuerligt i baggrunden og venter på, at anmodninger kommer ind (især fra klienter).

Linux understøtter forskellige måder at administrere (start, stop, genstart, aktiver automatisk start ved systemstart osv.) -Tjenester, typisk gennem en proces- eller servicemanager. De fleste, hvis ikke alle moderne Linux-distributioner bruger nu den samme procesmanager: systemd.

Systemd er en system- og servicemanager til Linux; en drop-in erstatning for init-processen, som er kompatibel med SysV og LSB init-scripts, og kommandoen systemctl er det primære værktøj til at styre systemd.

I denne vejledning vil vi demonstrere, hvordan man viser alle kørende tjenester under systemd i Linux.

Notering af kørende tjenester under SystemD i Linux

Når du kører systemctl-kommandoen uden argumenter, viser den en liste over alle indlæste systemd-enheder (læs systemdokumentationen for mere information om systemd-enheder) inklusive tjenester, der viser deres status (uanset om de er aktive eller ej).

# systemctl 

For at få vist alle indlæste tjenester på dit system (hvad enten det er aktivt, kører, afsluttes eller mislykkes, skal du bruge underkommandoen listeenheder og switch --type med en serviceværdi.

# systemctl list-units --type=service
OR
# systemctl --type=service

Og for at liste alle indlæste men aktive tjenester, både kørende og dem, der er afsluttet, kan du tilføje indstillingen --stat med værdien aktiv som følger.

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

Men for at få et hurtigt overblik over alle kørende tjenester (dvs. alle indlæste og aktivt kørende tjenester) skal du køre følgende kommando.

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

Hvis du ofte bruger den forrige kommando, kan du oprette en alias-kommando i din ~/.bashrc-fil som vist for nemt at påberåbe den.

# vim ~/.bashrc

Tilføj derefter følgende linje under listen over aliaser som vist på skærmbilledet.

alias running_services='systemctl list-units  --type=service  --state=running'

Gem ændringerne i filen, og luk den. Og fra nu af skal du bruge kommandoen "running_services" til at se en liste over alle indlæste, aktivt kørende tjenester på din server.

# running_services	#use the Tab completion 

Desuden er et vigtigt aspekt af tjenesterne den havn, de bruger. For at bestemme porten, som en dæmonproces lytter til, kan du bruge netstat- eller ss-værktøjerne som vist.

Hvor flag -l betyder at udskrive alle lyttestik, viser -t alle TCP-forbindelser, -u viser alle UDP-forbindelser, - n betyder udskrivning af numeriske portnumre (i stedet for applikationsnavne) og -p betyder show applikationsnavn.

# netstat -ltup | grep zabbix_agentd
OR
# ss -ltup | grep zabbix_agentd

Den femte kolonne viser soklen: Lokal adresse: Port. I dette tilfælde lytter processen zabbix_agentd til port 10050.

Hvis din server også kører en firewall-tjeneste, der styrer, hvordan du blokerer eller tillader trafik til eller fra udvalgte tjenester eller porte, kan du angive tjenester eller porte, der er åbnet i firewallen, ved hjælp af kommandoen firewall-cmd eller ufw ( afhængigt af de Linux-distributioner, du bruger) som vist.

# firewall-cmd --list-services   [FirewallD]
# firewall-cmd --list-ports

$ sudo ufw status     [UFW Firewall]

Det er alt for nu! I denne vejledning demonstrerede vi, hvordan du kan se kørende tjenester under systemd i Linux. Vi dækkede også, hvordan man kontrollerer den port, som en tjeneste lytter til, og hvordan man ser tjenester eller porte, der er åbnet i systemets firewall. Har du tilføjelser eller spørgsmål? Hvis ja, kontakt os ved hjælp af nedenstående kommentarformular.