Při použití jakékoli distribuce Linuxu běží některé procesy a služby souběžně. Některé mohou běžet na pozadí i bez vědomí uživatelů. Spouštění nepotřebných služeb může spotřebovávat velkou část systémových prostředků nebo také představovat bezpečnostní problém, pokud se neberou v úvahu opatření.
Proto je potřeba znát všechny běžící služby ve vašem systému. V tomto článku se podíváme na všechny možné způsoby, které můžete použít k zobrazení seznamu spuštěných služeb na vašem počítači se systémem Linux.
Jak zkontrolovat spuštěné služby v Linuxu
Pojďme nejprve dobře porozumět službám Linuxu. Pokud má služba inicializaci – script , pak přichází se třemi stavy:
- začít
- přestaňte
- restartovat
Všechny, které jsou prováděny pomocí – služby příkaz. Chcete-li například restartovat správce sítě service, spusťte následující příkaz:
sudo service network-manager restart
Příkaz service odkazuje na každou službu pomocí init skriptu uloženého v /etc/init.d pro Ubuntu a jakoukoli jinou distribuci založenou na Debianu a etc/rc.d/init.d pro linuxové distribuce založené na RedHat. Některé názvy služeb se liší od jedné distribuce k druhé. Například služba webového serveru Apache je httpd na CentOS a Apache2 na Ubuntu.
Systém V(SysV) | Počáteční | Systemd
Mnoho linuxových distribucí spadá pod následující init systémy:
- Systém V, což byl počáteční init systém.
- Počáteční
- systemd, což je nejnovější init systém v době psaní tohoto článku.
System V (SysV)
System V nebo běžně známý jako SysV je starý init systém používaný staršími distribucemi Linuxu a pochází z původního Unixu. SysV spravuje proces spouštění pomocí skriptu shellu obsaženého v /etc/init*. V případě, že používáte /etc/init.d/sshd spustit spuštění nebo zastavení služby; pak používáte na systému System V.
Upstart Init System
Jedná se o událostně založený init systém, který sloužil jako náhrada za /sbin/init démona. Upstart init system byl použit ke správě spouštění a zastavování služeb během bootování, vypínání a dohledu nad nimi za běhu systému. Upstart byl původně vyvinut pro distribuci Ubuntu Linux, aby nahradil starý System V používaný v jiných starších distribucích.
Systemd
Je to nový init systém, na který přechází většina linuxových distribucí. Byl vyvinut pro urychlení procesu spouštění, správu závislostí a mnoho dalšího. V případě, že používáte systemctl restart sshd spustit spustit nebo zastavit službu, kterou používáte v systému Systemd.
Zkontrolujte všechny spuštěné služby v inicializačním systému System V(SysV)
Podívejme se na některé příkazy terminálu, které můžete použít k zobrazení seznamu všech spuštěných služeb v inicializačním systému SysV.
service --status-all
Výše uvedený příkaz uvádí všechny spuštěné služby ve vašem systému. V případě, že je spuštěno mnoho služeb, můžete použít další parametry – více a méně pro seznam služeb v uspořádaném a jasném zobrazení.
service --status-all | less
service --status-all | more
Chcete-li zobrazit pouze služby aktuálně spuštěné v systému, spusťte příkaz níže:
service --status-all | grep running
Chcete-li zobrazit stav konkrétní služby, proveďte následující příkaz:
service --status-all | grep [service_name] e.g service --status-all | grep httpd
Případně můžete spustit příkaz níže a zobrazit stav konkrétní služby.
service httpd status
Chcete-li zobrazit seznam všech služeb povolených při spouštění, proveďte následující příkaz:
chkconfig --list
Zkontrolujte všechny spuštěné služby v systému Upstart init
Chcete-li zobrazit seznam všech služeb spuštěných na systému Linux se systémem Upstartinit, spusťte příkaz níže:
initctl list
Zkontrolujte všechny spuštěné služby v inicializačním systému Systemd
Chcete-li zobrazit seznam všech spuštěných služeb v systému Linux se systémem Systemd init, spusťte příkaz níže:
systemctl
Z výše uvedeného příkazu vidíme, že data jsou zobrazena v pěti sloupcích, a to UNIT, LOAD, ACTIVE, SUB a DESCRIPTION. Podívejme se, co jednotlivé sloupce znamenají:
- UNIT – Zobrazuje odpovídající název jednotky Systemd.
- LOAD – Tento sloupec zobrazuje, zda je aktuální jednotka načtena do paměti či nikoli.
- AKTIVNÍ – Tento sloupec označuje, zda je jednotka používána (aktivní) či nikoli.
- SUB – Popisuje provozní stav konkrétní jednotky.
- DESCRIPTION – Poskytuje podrobný popis konkrétní jednotky.
Můžete také vypsat spuštěné služby na základě jejich typu pomocí příkazu níže:
systemctl list-units --type service
Můžete také uvést služby na základě jejich aktuálního stavu. Je relativně podobný výstupu předchozího příkazu, ale je trochu přímočařejší.
systemctl list-unit-files --type service
Chcete-li zobrazit stav konkrétní služby, spusťte příkaz níže:
systemctl status [service_name] e.g systemctl status acpid.path
Chcete-li zobrazit pouze služby aktuálně spuštěné v systému, spusťte příkaz níže:
systemctl | grep running
Chcete-li zobrazit seznam všech služeb povolených při spouštění, proveďte následující příkaz:
systemctl list-unit-files | grep enabled
Pomocí příkazu systemd-cgtop můžete také zobrazit nejvyšší řídicí skupiny a jejich využití systémových prostředků, jako jsou I/O, CPU, Úlohy a paměť.
systemd-cgtop
Můžeme také použít pstree pro výpis všech spuštěných služeb v systému. Pstree zachycuje tyto informace z Systemd systémový výstup.
pstree
pstree lze také použít se systémem System V int. Zachycuje výstup ze systému SysVinit.
pstree
Můžete také použít chkservice nástroj pro kontrolu všech spuštěných služeb v systému Systemd. Nedodává se předinstalovaný. Můžete však nainstalovat pomocí terminálu pomocí příkazu níže:
sudo apt-get install chkservice
Chcete-li spustit službu chkservice, proveďte níže uvedený příkaz. Upozorňujeme, že potřebujete oprávnění superuživatele.
sudo chkservice
Chcete-li zobrazit všechny funkce, které tento fantastický nástroj obsahuje, stiskněte [? ] klíč. Otevře se nabídka nápovědy.
Závěr
Toto jsou některé z příkazů a nástrojů, které můžete použít ke kontrole všech spuštěných služeb ve vašem systému Linux. Pokud máte příkaz nebo nástroj, o kterém jsme v tomto příspěvku nemluvili, dejte vědět našim čtenářům v sekci komentářů.