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.