Jak vypsat služby v systému Linux

Jako správce systému pravděpodobně každý den řešíte spoustu služeb.

V systému Linux , služby se používají k mnoha různým účelům.

Mohou být použity ke spuštění serveru SSH na vašem počítači nebo mohou provádět určité operace v určitou hodinu nebo den.

Ať už používáte distribuci založenou na Debianu nebo RedHat, dotazovací služby jsou velmi podobné.

Avšak vzhledem k distribuci, kterou používáte, a konkrétněji k inicializačnímu systému (init nebo systemd), možná budete muset použít různé příkazy.

V tomto výukovém programu se naučíte jak můžete, vzhledem k vašemu správci systému, uvést seznam všech služeb na vašem počítači se systémem Linux.

Obsah

Určete použitý správce systému

Jak asi víte, nedávné distribuce používají správce systému Systemd.

Ne vždy tomu tak bylo: v minulosti většina distribucí používala správce systému SysVinit.

V důsledku toho existují opravdu dva způsoby správy vašich služeb v systému Linux.

Než se naučíte příkazy k výpisu služeb, musíte znát správce systému, který právě používáte.

Chcete-li zjistit svého současného správce systému, nejjednodušší je použít „ pstree ”a zkontrolovat vůbec první proces spuštěný ve vašem systému.

Pokud vidíte „systemd“, znamená to, že aktuálně používáte systemd. Pokud však vidíte “ init „, to znamená, že používáte SysVinit.

Na Ubuntu 14.04, který stále používá starý systém init, může váš„ pstree “vypadat takto.

List Services using systemctl

Nejjednodušší způsob, jak zobrazit seznam služeb v systému Linux, když používáte systémový systém, je použít příkaz „systemctl“ následovaný „list-units“. Chcete-li omezit výsledky pouze na služby, můžete zadat možnost „–type = service“.

Ve výchozím nastavení vám tento příkaz zobrazí pouze aktivní služby nebo služby, které ve vašem systému selhaly. Na výše uvedeném snímku obrazovky je většina služeb aktivní, ale logrotátová (červeně zvýrazněná) je označena jako neúspěšná.

Úžasné, zjistili jste, jak můžete snadno vypsat své služby na serveru Linux.

Jak jste si však mohli všimnout, neměli jste přístup ke všem službám: co neaktivní služby? A co služby, které nebyly načteny systemd při spuštění?

Seznam všech služeb na Linux s použitím jednotek seznamu

Chcete-li zobrazit seznam všech služeb, tedy aktivních i neaktivních, musíte použít příkaz „systemctl list-units“ následovaný volbou „–all“.

Podobně můžete omezit výsledky na služby pouze pomocí filtru typů.

Jak vidíte, jsou uvedeny i neaktivní služby, což by mohlo být výhodné, pokud jste svou službu právě napsali a staráte se o ni v seznamu.

V tomto případě jsou uvedeny pouze načtené služby. Při zavádění systém načte soubory jednotek a může se rozhodnout nenačíst konkrétní službu, pokud zjistí, že ji systém nebude používat.

V důsledku toho existuje skutečný rozdíl mezi „načteným“ „A„ nainstalované “služby. „Instalované“ služby znamenají, že soubory jednotek lze najít na odpovídajících cestách.

Seznam služeb podle státu

V některých případech vás mohou zajímat pouze služby, které selhaly. K tomu můžete určit stav , kterou hledáte jako možnost příkazu systemctl.

Kde „state“ může být jedna z následujících hodnot: aktivní, neaktivní, aktivující, deaktivace, selhání, nenalezeno nebo mrtvé.

Například pokud se zajímáme pouze o služby, které selhaly, spustíme následující příkaz

Seznam všech servisních souborů pomocí list-unit-files

Nakonec, pokud máte zájem o „načtené“, „nainstalované“, „deaktivované“ a „povolené“ servisní soubory, existuje další příkaz to by mohlo být docela užitečné.

Chcete-li zobrazit seznam všech dostupných servisních souborů, musíte použít příkaz „systemctl“ následovaný „list-unit-files“. Volitelně můžete určit typ pomocí možnosti „–type = service“.

Případně můžete použít příkaz „grep“ k vyhledání konkrétních cest ve vašem systému, které mohou obsahovat soubory služeb.

Gratulujeme, zjistili jste, jak můžete seznam služeb, pokud váš systém používá systemd!

Seznam služeb pomocí služby

Nejjednodušší způsob, jak vypsat služby v systému Linux, když používáte systém SystemV init, je použít „ příkaz service ”následovaný možností„ –status-all “. Tímto způsobem se vám zobrazí kompletní seznam služeb ve vašem systému.

Jak vidíte, každá služba je uvedené v zátvorkách, před kterými jsou symboly. Tyto symboly znamenají:

  • +: znamená, že služba e běží;
  • -: znamená, že služba vůbec neběží;
  • ? : znamená, že Ubuntu nebyl schopen zjistit, zda je služba spuštěna nebo ne.

Proč tedy některé služby určují, zda běží nebo ne, a některé nejsou schopny?

Všechno záleží na implementaci skriptu init. V některých skriptech, například v udev skriptu, vidíte, že je implementován příkaz „status“.

Toto například neplatí pro skript„ dns-clean “, což je důvod, proč máte otázku při dotazování na tuto službu označte.

Seznam služeb SysVinit ve složkách

Dalším způsobem, jak vypsat aktuální seznam služeb, je použít příkaz „ls“ ve složkách obsahujících všechny skripty na systém Linux, konkrétně „/etc/init.d“.

Závěr

V tomto výukovém programu jste se naučili, jak můžete snadno vypisovat služby v systému Linux ať už používáte systemd nebo SysVinit.

Pokud máte zájem o vytváření vlastních služeb, doporučujeme vám podívat se na následující zdroje. Mohou být opravdu užitečné, aby toho dosáhli správně.

  • Psaní spouštěcího skriptu pro systémy init;
  • Spouštění služeb při zavádění pomocí systemd;

Máte-li zájem o správu systému Linux, máme na webu úplnou část věnovanou tomuto tématu, takže si ji nezapomeňte prohlédnout.

Ikony vytvořené společností Freepik z FlatIcon

Write a Comment

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *