Systémy Linux poskytují celou řadu systémových služeb (například správu procesů, přihlášení, syslog, cron atd.) A síťové služby (například vzdálené přihlášení, e-mail, tiskárny, webhosting, ukládání dat, přenos souborů, rozlišení doménových jmen (pomocí DNS), dynamické přidělování IP adres (pomocí DHCP) a mnoho dalšího).
Technicky, a služba je proces nebo skupina procesů (běžně známých jako démoni) běžící nepřetržitě na pozadí a čekající na přijetí požadavků (zejména od klientů).
Linux podporuje různé způsoby správy (spuštění, zastavení, restart, povolit automatické spuštění při spuštění systému atd.) služby, obvykle prostřednictvím správce procesů nebo služeb. Většina, ne-li všechny moderní distribuce Linuxu, nyní používá stejného správce procesů: systemd.
Přečtěte si také: Příběh za „init“ a „systemd“: Proč je třeba „init“ nahradit „systemd“ v Linux
Systemd je správce systému a služeb pro Linux; náhrada za inicializační proces, který je kompatibilní se skripty SysV a LSB init a příkaz systemctl je primárním nástrojem pro správu systemd.
V této příručce si ukážeme, jak zobrazit všechny spuštěné služby pod systemd v systému Linux.
Výpis spuštěných služeb pod SystemD v Linux
Když spustíte příkaz systemctl bez jakýchkoli 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 a jejich stav (ať už aktivní nebo ne).
# systemctl
Chcete-li vypsat všechny načtené služby ve vašem systému (ať už aktivní, spuštěné, ukončené nebo neúspěšné, použijte dílčí příkaz list-units a --type
přepínač s hodnotou služby.
# systemctl list-units --type=serviceOR# systemctl --type=service
Chcete-li zobrazit všechny načtené, ale aktivní služby, spuštěné i ukončené, můžete přidat možnost --state
s hodnotou aktivní, následovně.
# systemctl list-units --type=service --state=activeOR# systemctl --type=service --state=active
Chcete-li však rychle zobrazit 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
Pokud často používáte předchozí příkaz, můžete ve svém souboru ~ / .bashrc vytvořit alias, jak je zobrazeno, abyste jej mohli snadno 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. A od nynějška použijte příkaz „running_services“ k zobrazení seznamu všech načtených aktivně spuštěných služeb na vašem serveru.
# running_services#use the Tab completion
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 nástroje netstat nebo ss, jak je znázorněno.
Kde příznak -l
znamená vytisknout všechny naslouchací zásuvky, -t
zobrazí všechna připojení TCP, -u
zobrazí všechna připojení UDP, -n
znamená tisk číselných čísel portů (místo názvů aplikací) a -p
znamená zobrazení názvu aplikace.
# netstat -ltup | grep zabbix_agentdOR# ss -ltup | grep zabbix_agentd
pátý sloupec zobrazuje soket: Místní adresa: Port. V tomto případě proces zabbix_agentd naslouchá na portu 10050.
Také, pokud je na vašem serveru spuštěna služba firewall, která řídí jak blokovat nebo povolit provoz na vybrané služby nebo porty nebo z nich, můžete zobrazit seznam služeb nebo portů, které byly otevřeny v bráně firewall, pomocí příkazu firewall-cmd nebo ufw (v závislosti na používaných distribucích systému Linux), jak je znázorněno.
# firewall-cmd --list-services # firewall-cmd --list-ports$ sudo ufw status