Sådan viser du 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ænenavnopløsning (ved hjælp af DNS), dynamisk IP-adressetildeling (ved hjælp af DHCP) og meget mere).

Teknisk set en service er en proces eller 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.

Læs også: Historien bag init og systemd: Hvorfor init skal erstattes med systemd i Linux

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 systemctl-kommandoen 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.

Liste over 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 at få flere oplysninger om systemd-enheder) inklusive tjenester, der viser deres status (hvad enten det er aktivt eller ikke).

# systemctl 

Hvis du vil liste alle indlæste tjenester på dit system (hvad enten det er aktivt, kører, afsluttes eller mislykkes, skal du bruge underkommandoen liste-enheder og --type skift med en serviceværdi.

# systemctl list-units --type=serviceOR# systemctl --type=service
Liste over alle tjenester under Systemd

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

# systemctl list-units --type=service --state=activeOR# systemctl --type=service --state=active
Liste Alle aktive kørende tjenester i Systemd

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
Liste over kørende tjenester i Systemd

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"
Opret et alias til lang kommando

Gem ændringerne i filen og luk den. Brug fremover kommandoen “running_services” til at få vist en liste over alle indlæste, aktivt kørende tjenester på din server.

# running_services#use the Tab completion 
Se alle kørende tjenester

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

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

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

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

Bestem procesport

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

# firewall-cmd --list-services # firewall-cmd --list-ports$ sudo ufw status 
Liste over åbne tjenester og porte i firewall

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *