Mivel a Linux operációs rendszert többfeladatos operációs rendszerként jellemzik, a démon definíció szerint egy olyan program, amelyet folyamatosan háttérfolyamatként hajtanak végre. Röviden, ennek a folyamatnak a végrehajtása nem függ az aktív felhasználó rendszerinterakciójától. A normál rendszerhasználó nem tudja ellenőrizni a démon folyamat időszakos végrehajtását.
A legtöbb démon folyamatot meghatározó elnevezési szokás az egy betűs „utótag” d. Ez az elnevezési szokás lehetővé teszi a normál rendszerfolyamatok és a démon alapú folyamatok megkülönböztetését. Például, sshd egy démon folyamat, amely felelős a bejövő adatok kezeléséértSSH kapcsolatok. Egy másik démon folyamat példasyslogd. Felelős a Linux rendszer naplózási lehetőségéért.
Linux környezetben a démonok indítása indításkor van. Mivel a Linux rendszer tökéletes Unix klón, az init folyamat a démon szülőfolyamatának minősül. A démonok indításához és leállításához Linux operációs rendszerén először hozzáférnie kell a/ etc / init.d szkriptek könyvtár az operációs rendszeren.
Közös démonok funkciói
- Lehetővé teszi a rendszer számára, hogy helyesen válaszoljon a hálózati kérésekre azáltal, hogy minden kérést egy kompatibilis hálózati porthoz kapcsol. A démonok által kezelt tipikus hálózati port a 80-as port.
- A démonok lehetővé teszik ütemezett rendszerfeladatok futtatását vagy végrehajtását. Az adott feladatért felelős démon neve cron. Létrehozza a cron munka amely kezeli az ütemezett feladatok időszakos végrehajtását.
- A démonok felbecsülhetetlen mértékben hozzájárulnak a rendszer teljesítményének ellenőrzéséhez is. Például ellenőrizhetik a RAID tömböt vagy a merevlemez állapotát.
Hasznos Linux szolgáltatás démonok
- amd: Auto Mount Daemon
- anakron: Késleltetett cron feladatok indítási ideje
- apmd: Fejlett energiagazdálkodási démon
- atd: Az eszköz funkcionalitásával használja a sorban álló feladatok végrehajtását
- autofok: együtt dolgozik az automounter démonnal, hogy megkönnyítse az igény szerinti rendszereszközök fel- és leszerelését
- tavasz: démon, amely kezeli a feladatok ütemezését
- cupsd: egy démon, amely kezeli a CUPS nyomtatást
- DHCP: démon mind az Internet Bootstrap protokollkiszolgálóhoz, mind a Dinamikus gazdagép konfigurációs protokolljához.
- zárt: több útválasztási protokollért felelős útválasztási démon. Helyettesíti az útválasztást és az egpup-ot
- httpd: egy démon, amely olyan webszerverekkel foglalkozik, mint az Apache
- inetd: démon társítva az Internet Superserverhez
- imapd: démon az IMAP kiszolgálóhoz
- lpd: Vonalnyomtató démon
- memcached: objektum-gyorsítótár-démon, amely memóriában van terjesztve
- mountd: mount démon
- MySQL: démon a MySQL adatbázis-kiszolgálóhoz
- nevezett: démon a DNS-kiszolgálóhoz
- nfsd: Hálózati fájlmegosztó démon
- nfslock: Mivel az nfsd fájlzárolási szolgáltatásokkal van társítva, ez a démon elindíthatja és leállíthatja ezeket a szolgáltatásokat.
- nmbd: démon a hálózati üzenet blokkhoz
- ntpd: démon a hálózati időprotokoll szolgáltatáshoz
- postfix: démon, amely levélszállítási ügynökként szolgál. A sendmail alternatívája.
- Postgresql: démon a Postgres adatbázis-kiszolgálóhoz
- irányítva: démon az útválasztási táblák kezeléséhez
- rpcbind: démon társítva a távoli eljáráshíváshoz
- levél küldés: démon, amely levélátviteli ügynökként szolgál
- smbd: démon a Samba SMB szerverhez
- smtpd: démon az egyszerű levélátviteli protokollhoz
- snmpd: démon az egyszerű hálózatkezelési protokollhoz
- tintahal: démon, amely egy proxy szerverhez kapcsolódik a weboldal gyorsítótárazásához
- SSD: démon a Secure Shell Serverhez társítva
- syncd: démon a rendszermemória szinkronizálásához a rendszerfájlokkal
- Syslog: démon, amely elvégzi a rendszer naplózását
- tcpd: ez a démon szolgáltatás burkolója végrehajtja az inetd-alapú démon szolgáltatásokkal kapcsolatos hozzáférés-korlátozási protokollokat. Ezeket a korlátozásokat a otthont ad.lehetővé teszi és otthont ad.tagadni.
- Telnetd: démon a telnet szerverhez
- vsftpd: démon a nagyon biztonságos File Transfer Protocol-hoz
- webmin: démon a webalapú adminisztrációs kiszolgálóhoz
- xinetd: démon az Enhanced Internet Supervisorhoz társítva
- xntd: démon a hálózati időszerverhez
Akár kezdő, akár középszintű, akár szakértő felhasználó vagy a Linux operációs rendszer világában, soha nem mulasztja el megismerkedni a fent felsorolt démonok egyikével sem, miközben elősegíti képességeit és szakértelmét ebben az operációs rendszer környezetben.
Démonok indítása / leállítása / újraindítása: terminál alapú megközelítés
Most, hogy van egy listája hasznos Linux démonokról, amelyeket megjegyezhet és felfedezhet, az első dolog, amit tudnia kell, hogyan kell elindítani, leállítani vagy újraindítani ezeket a démonokat. Indítsa el a Linux terminált, vegye figyelembe a következő szintaxis szabályokat a démon elindításához, leállításához és újraindításához a Linux operációs rendszeren.
szolgáltatás preferált-démonnév kezdete service preferált-démonnév stop szolgáltatás preferált-démonnév újraindítása
Helyettesíteni a preferált-démonnév szintaxis argumentum az Ön által választott Linux rendszer démon nevével. Kiválaszthat egyet a fent kiemelt démonlistából, amennyiben az aktív vagy már meg van határozva a Linux rendszerén. Például megvalósíthatjuk a fenti szintaxis gyakorlati használatát azáltal, hogy megpróbáljuk elindítani, leállítani és újraindítani adémon. Navigáljon a / etc / init.d a terminálon található könyvtár a Linux rendszeren elérhető démonok listájához.
Sorolja fel Linux rendszerei démonjait
Hatékonyabb módszer a Linux rendszeren elérhető démonok észrevételezésére a / etc / init.d A könyvtár az összes definiált aktív és inaktív démon felsorolása egyetlen paranccsal. A következő parancs hatékonyan képes elérni ezt a célt.
$ service -status-all
A felsorolt démonneveket megelőző kapcsos pozitív [+] és negatív [-] jelek azt jelzik, hogy ezek aktívak vagy inaktívak.
Munka a felhasználó által definiált démonokkal
Sajátos szabályokat vagy protokollokat kell követni a felhasználó által definiált démon sikeres létrehozásához és megvalósításához. Ezek a protokollok segítenek megérteni a démonok végrehajtását bármely Linux környezetben. A démonok is elég rugalmasak ahhoz, hogy rendszerhívásokon keresztül kapcsolódjanak a kernelmodulokhoz. Ez a démonfunkciós szakasz támogatja az interakciót olyan hardvereszközökkel, mint a PDA-k (Personal Digital Assistants), nyomtatók és életképes külső vezérlőpanelek. A démonok építőkövei hozzájárulnak a Linux operációs rendszer jellemző erejéhez és rugalmasságához is.
Sander Marechal gondosan bemutatja és dokumentálja a Python használatával megvalósítható relatív démon megvalósítást. Legyen szíves kövesse a végrehajtási sorrendet ennek a démonnak a létrehozásakor. Először is, a Linux rendszerének Python csomagok telepítésére van szüksége a démonok sikeres fejlesztéséhez. A Python telepítéséhez használja a következő parancsot.
$ sudo apt install python3-pip python3-dev
A Sander Marechal authoredPython démonkódjára mutató link finomított Python 3 kódos verziót is kínál. Segítene, ha megfontolná annak megvalósítását, hogy jobban megértse a démonok működését.
Ha nem biztos abban, hogy telepítve van-e a Python, futtassa a következő parancsot a Linux terminálon.
$ python3 --verzió
Bármely démon célja
Mivel egyetlen démon külön feladatot szán egy konkrét feladat kezelésére, azt tökéletesen végre kell hajtania. A szóban forgó feladat lehet olyan egyszerű, mint egy jelentés létrehozása és elküldése egy rendszergazdának sendmailen keresztül, vagy olyan bonyolult, mint több, több postaládához kapcsolt domain kezelése. Egy bizonyos ponton a létrehozandó démonnak beszélnie kell más létező démonokkal.
felhasználó-démon interakció
Nem javasolt, ha a rendszer felhasználója és a létrehozott démon közvetlenül kommunikál. Ha a démon számára szükséges, akkor létre kell hoznia, hogy kommunikáljon a rendszer felhasználójával. Ezt a kommunikációt valamilyen GUI felületen keresztül lehet megkönnyíteni. Ez a kommunikációs platform vagy GTK + GUI komplexitással, vagy a jelkészlet egyszerűségével rendelkezik.
A démon létrehozása
Számos megközelítés támogatja a démonok létrehozását. Például a parancssori felület segítségével Pyemon szkriptet démonizálhat az alábbiak szerint:
$ python my_python_script.py &
Mentheti Sander Marechal által készített Python3 démonkódot egy Python fájlba, és démonizálhatja a fenti paranccsal. Míg a fenti terminál parancs könnyen létrehoz egy démonot az Ön számára, meg kell küzdenie olyan kihívásokkal, mint a kiszámíthatatlan terminál kimenetek. Ezek a kihívások attól függenek, hogy mennyire újrafejlesztették a Python démon kódját. A fenti megközelítés szintén nem támogatja a PID zárfájlok hozzárendelését meghatározott démonokhoz. Lehetetlenné teszi a démonok irányítását, mivel a legtöbbjük azonnal végrehajtja. Másrészt, ha csak egy egyszerű démonra van szüksége, a fent említett megközelítés megadja a kívánt démon eredményeket.
Démon alapszerkezete
Mielőtt egy démon végrehajtana vagy végrehajtana egy tervezett funkciót, meg kell fontolnia néhány előítéletes szabályt, amely a végrehajtásához vezet. Úgy gondolhatja ezeket a szabályokat, mint alacsony szintű házimunkákat, amelyek a tényleges feladathoz vezetnek. Ezek a szabályok a következő lépésekre bonthatók.
- Először egy villa létrehozása szülői folyamatból történik
- Az umask (fájl mód maszk) megváltoztatása következik
- A naplókat megnyitják az íráshoz
- Létrejön egy egyedi SID (munkamenet-azonosító)
- A végrehajtás az aktuális munkakönyvtárból másodlagos helyre vált át a fájl integritásának megőrzése érdekében
- A szabványos fájlleírók zárva vannak
- Célzott démonkód végrehajtása
A démonokról további példák találhatók a GitHub-on.