Jak vypsat všechny běžící služby pod Systemd v Linuxu
Systémy Linux poskytují různé systémové služby (jako je správa procesů, přihlášení, syslog, cron atd.) a síťové služby (jako je vzdálené přihlášení, e-mail, tiskárny, webhosting, úložiště dat , přenos souborů, překlad doménových jmen (pomocí DNS), dynamické přidělování IP adres (pomocí DHCP) a mnoho dalšího).
Technicky je služba proces nebo skupina procesů (běžně známých jako démoni), které nepřetržitě běží na pozadí a čekají na požadavky (zejména od klientů).
Linux podporuje různé způsoby správy (spouštění, zastavování, restartování, povolení automatického spouštění při spouštění systému atd.) služeb, obvykle prostřednictvím správce procesů nebo služeb. Většina, ne-li všechny moderní distribuce Linuxu nyní používá stejný správce procesů: systemd.
Co je Systemd?
Systemd je správce systému a služeb pro Linux; náhrada za proces init, který je kompatibilní se skripty SysV a LSB a příkaz systemctl je primárním nástrojem pro spravovat systemd.
Proč vypisovat spuštěné služby v Linuxu?
Znalost běžících služeb na vašem systému Linux je životně důležitá z několika důvodů. Umožňuje vám monitorovat využití zdrojů, odstraňovat problémy a efektivně řídit výkon systému. Systemd tento úkol zjednodušuje tím, že nabízí výkonné příkazy pro shromažďování informací o aktivních službách.
V této příručce předvedeme proces výpisu všech spuštěných služeb pod Systemd v Linuxu a poskytneme komplexní návod pro uživatele všech úrovní zkušeností.
Výpis spuštěných služeb pod SystemD v Linuxu
Když spustíte příkaz systemctl bez jakýchkoliv argumentů, zobrazí se seznam všech načtených jednotek systemd (další informace o jednotkách systemd naleznete v dokumentaci systemd) včetně služeb s uvedením jejich stavu (zda jsou aktivní nebo ne ).
systemctl
Seznam všech jednotek v systemctl
Chcete-li zobrazit seznam všech načtených služeb ve vašem systému (ať už aktivních, spuštěných, ukončených nebo neúspěšných, použijte dílčí příkaz list-units a přepínač --type
s hodnotou služby.
systemctl list-units --type=service
OR
systemctl --type=service
A chcete-li vypsat všechny načtené, ale aktivní služby, spuštěné i ukončené, můžete přidat možnost --state
s hodnotou active následovně.
systemctl list-units --type=service --state=active
OR
systemctl --type=service --state=active
Seznam spuštěných služeb v systemctl
Chcete-li však získat rychlý pohled na všechny spuštěné služby (tj. všechny načtené a aktivně spuštěné služby), spusťte následující příkaz.
systemctl list-units --type=service --state=running
OR
systemctl --type=service --state=running
Podívejme se na klíčové pojmy související s jednotkami Systemd a jejich stavem:
- Jednotka – Jednotkou může být služba, zásuvka, zařízení nebo různé jiné entity.
- Load – Označuje, zda je jednotka načtena nebo ne. Jednotka může být načtena, ale nemusí být nutně aktivní.
- Aktivní – Zobrazuje, zda je jednotka aktivně spuštěna nebo zda došlo k problémům a zda je ve stavu selhání nebo nečinnosti.
- SUB – Poskytuje další podrobnosti o konkrétním stavu jednotky. U služeb může indikovat, zda je služba spuštěna (běží), zastavena (ukončena) nebo dochází k problémům (selhání).
- Popis – Pomáhá uživatelům identifikovat a pochopit účel jednotky, aniž by se museli ponořit do podrobných konfiguračních souborů.
Vytvořte alias pro systemctl
Pokud často používáte předchozí příkaz, můžete vytvořit alias příkaz v souboru ~/.bashrc, jak je znázorněno, a snadno jej vyvolat.
vim ~/.bashrc
Poté přidejte následující řádek pod seznam aliasů, jak je znázorněno na snímku obrazovky.
alias running_services='systemctl list-units --type=service --state=running'
Uložte změny do souboru a zavřete jej. Od této chvíle použijte příkaz „running_services“ k zobrazení seznamu všech načtených a aktivně spuštěných služeb na vašem serveru.
running_services #use the Tab completion
Najděte port, na kterém proces poslouchá
Kromě toho je důležitým aspektem služeb port, který používají. Chcete-li určit port, na kterém proces démona naslouchá, můžete použít příkaz netstat nebo ss, jak je znázorněno na obrázku.
Kde příznak -l
znamená tisknout všechny naslouchající sokety, -t
zobrazuje všechna TCP spojení, -u
zobrazuje všechna UDP spojení, - n
znamená tisk čísel portů (místo názvů aplikací) a -p
znamená zobrazení názvu aplikace.
netstat -ltup | grep zabbix_agentd
OR
ss -ltup | grep zabbix_agentd
Pátý sloupec zobrazuje socket: Local Address:Port. V tomto případě proces zabbix_agentd naslouchá na portu 10050.
Výpis spuštěných služeb brány firewall
Pokud má váš server spuštěnou službu brány firewall, která řídí, jak blokovat nebo povolit provoz do nebo z vybraných služeb nebo portů, můžete pomocí firewall-cmd< uvést seznam služeb nebo portů, které byly ve bráně firewall otevřeny. nebo příkaz ufw (v závislosti na distribucích Linuxu, které používáte), jak je znázorněno.
firewall-cmd --list-services [FirewallD]
firewall-cmd --list-ports
sudo ufw status [UFW Firewall]
To je prozatím vše! V této příručce jsme si ukázali, jak zobrazit spuštěné služby pod systemd v Linuxu. Také jsme se zabývali tím, jak zkontrolovat, zda služba portu naslouchá a jak zobrazit služby nebo porty otevřené v systémové bráně firewall.
Máte nějaké doplňky nebo dotazy? Pokud ano, kontaktujte nás pomocí formuláře pro komentáře níže.