Weboldal keresés

Az összes futó szolgáltatás listázása a Systemd alatt Linux alatt


A Linux rendszerek számos rendszerszolgáltatást (például folyamatkezelést, bejelentkezést, syslogot, cront stb.) és hálózati szolgáltatásokat (például távoli bejelentkezés, e-mail, nyomtatók, webtárhely, adattárolás) biztosítanak. , fájlátvitel, domain név feloldás (DNS használatával), dinamikus IP-cím hozzárendelés (DHCP használatával) és még sok más).

Technikailag a szolgáltatás egy folyamat vagy folyamatok csoportja (általános nevén démonok), amelyek folyamatosan futnak a háttérben, és várják a beérkező kéréseket (különösen az ügyfelektől).

A Linux különböző módokat támogat a szolgáltatások kezelésében (indítás, leállítás, újraindítás, automatikus indítás engedélyezése rendszerindításkor stb.), jellemzően folyamat- vagy szolgáltatáskezelőn keresztül. A legtöbb, ha nem az összes modern Linux disztribúció ugyanazt a folyamatkezelőt használja: systemd.

Mi az a Systemd?

A Systemd egy Linux rendszer- és szolgáltatáskezelő; az init folyamat beugró helyettesítője, amely kompatibilis a SysV és az LSB init szkriptekkel, és a systemctl parancs az elsődleges eszköz kezelje a rendszert.

Miért listázza ki a futó szolgáltatásokat Linux alatt?

A Linux rendszeren futó szolgáltatások ismerete több okból is létfontosságú. Lehetővé teszi az erőforrás-kihasználtság nyomon követését, a problémák hibaelhárítását és a rendszer teljesítményének hatékony kezelését. A Systemd leegyszerűsíti ezt a feladatot azáltal, hogy hatékony parancsokat kínál az aktív szolgáltatásokkal kapcsolatos információk gyűjtésére.

Ebben az útmutatóban bemutatjuk az összes futó szolgáltatás listázásának folyamatát a Systemd alatt Linux alatt, átfogó áttekintést nyújtva minden tapasztalati szintű felhasználó számára.

A futó szolgáltatások listázása a SystemD alatt Linux alatt

Ha argumentumok nélkül futtatja a systemctl parancsot, megjelenik az összes betöltött systemd egység listája (a systemd egységekkel kapcsolatos további információkért olvassa el a systemd dokumentációját), beleértve a szolgáltatásokat, és megjeleníti azok állapotát (akár aktív, akár nem). ).

systemctl 

Az összes egység listázása a systemctl-ben

A rendszer összes betöltött szolgáltatásának listázásához (akár aktív, akár futó, kilépő vagy sikertelen), használja a list-units alparancsot és a --type kapcsolót a szolgáltatás értékével.

systemctl list-units --type=service
OR
systemctl --type=service

És az összes betöltött, de aktív szolgáltatás felsorolásához, mind a futó, mind a kilépők között, hozzáadhatja a --state opciót active értékkel az alábbiak szerint.

systemctl list-units --type=service --state=active
OR
systemctl --type=service --state=active

A futó szolgáltatások listája a systemctl-ben

Ha azonban gyorsan át szeretné tekinteni az összes futó szolgáltatást (vagyis az összes betöltött és aktívan futó szolgáltatást), futtassa a következő parancsot.

systemctl list-units --type=service --state=running 
OR
systemctl --type=service --state=running

Fedezze fel a Rendszer egységekkel és állapotukkal kapcsolatos kulcskifejezéseket:

  • Egység – Az egység lehet szolgáltatás, aljzat, eszköz vagy számos egyéb entitás.
  • Betöltés – Azt jelzi, hogy az egység be van-e töltve vagy sem. Egy egység betölthető, de nem feltétlenül aktív.
  • Aktív – Megmutatja, hogy az egység aktívan fut-e, vagy problémák merültek fel benne, és meghibásodott vagy inaktív állapotban van.
  • SUB – További részleteket biztosít az egység konkrét állapotáról. Szolgáltatások esetén jelezheti, hogy a szolgáltatás fut (fut), leállt (kilépett) vagy problémák merülnek fel (nem sikerült).
  • Leírás – Segít a felhasználóknak azonosítani és megérteni az egység célját anélkül, hogy a részletes konfigurációs fájlokba nyúlnának.

Hozzon létre egy aliast a systemctl számára

Ha gyakran használja az előző parancsot, a képen látható módon létrehozhat egy alias parancsot a ~/.bashrc fájlban, hogy könnyen meghívhassa.

vim ~/.bashrc

Ezután adja hozzá a következő sort az álnevek listája alá a képernyőképen látható módon.

alias running_services='systemctl list-units  --type=service  --state=running'

Mentse el a változtatásokat a fájlban, és zárja be. Mostantól kezdve használja a „running_services ” parancsot a szerveren lévő összes betöltött, aktívan futó szolgáltatás listájának megtekintéséhez.

running_services	#use the Tab completion 

Keressen egy portot, amelyen a folyamat hallgat

Emellett a szolgáltatások fontos szempontja az általuk használt port. A démonfolyamat által figyelt port meghatározásához használhatja a netstat vagy az ss parancsot az ábra szerint.

Ahol a -l jelző az összes figyelő socket nyomtatását jelenti, a -t az összes TCP-kapcsolatot, a -u az összes UDP-kapcsolatot, a - Az n azt jelenti, hogy numerikus portszámokat nyomtat (az alkalmazásnevek helyett), a -p pedig az alkalmazás nevének megjelenítését.

netstat -ltup | grep zabbix_agentd
OR
ss -ltup | grep zabbix_agentd

Az ötödik oszlopban az aljzat látható: Helyi cím:Port. Ebben az esetben a zabbix_agentd folyamat az 10050 porton figyel.

Futó tűzfalszolgáltatások listája

Továbbá, ha a kiszolgálón olyan tűzfalszolgáltatás fut, amely szabályozza, hogy a kiválasztott szolgáltatásokra vagy portokra irányuló vagy onnan induló forgalmat hogyan blokkolja vagy engedélyezze, a firewall-cmd< segítségével felsorolhatja a tűzfalban megnyitott szolgáltatásokat vagy portokat. vagy ufw paranccsal (a használt Linux disztribúcióktól függően) az ábrán látható módon.

firewall-cmd --list-services   [FirewallD]
firewall-cmd --list-ports

sudo ufw status     [UFW Firewall]

Ez minden most! Ebben az útmutatóban bemutattuk, hogyan tekintheti meg a futó szolgáltatásokat a systemd alatt Linux alatt. Kitértünk arra is, hogyan ellenőrizhető, hogy a portszolgáltatás figyel, és hogyan nézhetők meg a rendszer tűzfalában megnyitott szolgáltatások vagy portok.

Van-e kiegészítése vagy kérdése? Ha igen, lépjen kapcsolatba velünk az alábbi megjegyzés űrlap segítségével.