Lär dig Linux

Allt om Daemons i Linux

Allt om Daemons i Linux

Eftersom Linux-operativsystemet karaktäriseras som ett multitasking-operativsystem är en demon per definition ett program som kontinuerligt körs som en bakgrundsprocess. Kort sagt, utförandet av denna process är inte beroende av en aktiv användares systeminteraktion. En normal systemanvändare kan inte kontrollera det periodiska utförandet av en demonprocess.

Namngivningskonventionen som definierar de flesta daemonprocesser är en bokstav "suffix" d. Denna namngivningskonvention gör det möjligt att skilja mellan normala systemprocesser och daemondrivna processer. Till exempel, sshd är en demonprocess som ansvarar för hanteringen av inkommandeSSH anslutningar. Ett annat exempel på en demonprocess ärsyslogd. Det ansvarar för Linux-systemets loggningsanläggning.

I en Linux-miljö är lanseringen av demoner vid starttiden. Eftersom Linux-systemet är en perfekt Unix-klon, kvalificeras en init-process som överordnad process till en demon. För att starta och stoppa demoner på ditt Linux-operativsystem måste du först komma åt/ etc / init.d skriptkatalog på ditt operativsystem.

Vanliga demoner fungerar

Användbara Linux-tjänstedemoner

Oavsett om du är en nybörjare, mellanliggande eller expertanvändare i Linux-operativsystemvärlden kommer du aldrig att misslyckas med att bekanta dig med någon av ovan nämnda demoner när du utvecklar dina färdigheter och expertis inom denna OS-miljö.

Starta / stoppa / starta om demoner: den terminalbaserade metoden

Nu när du har en lista över användbara Linux-demoner att memorera och utforska, är det första du behöver veta hur man startar, stoppar eller startar om demonerna. Med din Linux Terminal lanserad, överväg följande syntaxregler för att starta, stoppa och starta om en demon på ditt Linux-operativsystem.

tjänsten föredras-start av demonnamn tjänsten preferens-daemon-namn stopp  starta om tjänsten föredraget-daemon-namn

Ersätt föredraget-daemon-namn syntaxargument med namnet på Linux-systemets demon som du väljer. Du kan välja en från dememonlistan som är markerad ovan så länge den är aktiv eller redan definierad på ditt Linux-system. Vi kan till exempel implementera den praktiska användningen av ovanstående syntax genom att försöka starta, stoppa och starta om ademon. Navigera till / etc / init.d katalog på din terminal för en lista över tillgängliga demoner på ditt Linux-system.

lista aktiva demoner på ditt Linux-system.png

hur man startar, stoppar och startar om en daemon-tjänst på ditt Linux-system.png

Lista upp dina Linux-systemens demoner

Ett mer effektivt sätt att notera tillgängliga demoner på ditt Linux-system istället för att navigera till / etc / init.d katalog är att lista alla definierade aktiva och inaktiva demoner från den katalogen med ett enda kommando. Följande kommando är effektivt för att uppnå detta mål.

$ service -status-all

listar alla demoner på ditt Linux-operativsystem.png

De avstängda positiva [+] och negativa [-] tecknen före de listade daemon-namnen antyder att de är antingen aktiva eller inaktiva respektive.

Arbeta med användardefinierade demoner

Specifika regler eller protokoll måste följas för att skapa och implementera en användardefinierad daemon framgångsrikt. Dessa protokoll hjälper dig att förstå utförandet av demoner i alla Linux-miljöer. Daemons är också tillräckligt flexibla för att gränssnitt med kärnmoduler genom systemanrop. Denna daemon-funktionssträcka stöder dess interaktion med hårdvaruenheter som PDA (Personal Digital Assistants), skrivare och livskraftiga externa styrkort. Byggstenarna till demoner bidrar också till Linux-operativsystemets karakteristiska kraft och flexibilitet.

En relatabel daemonimplementering med Python demonstreras och dokumenteras noggrant av Sander Marechal. Var angelägen om att följa körningsordern när du skapar denna demon. Först och främst behöver ditt Linux-system installation av Python-paket för att framgångsrikt kunna utveckla demoner. För att installera Python kan du använda följande kommando.

$ sudo apt installera python3-pip python3-dev

Länken till Sander Marechals författade Python-daemonkod erbjuder också en raffinerad Python 3-kodversion. Det skulle hjälpa om du funderade på att implementera den för att bättre förstå hur demoner fungerar.

Om du är osäker på om du har Python installerat kör du följande kommando på din Linux-terminal.

$ python3 --version

Syftet med någon daemon

Eftersom en enda demon är dedikerad till att hantera en specifik uppgift, bör den utföra den till perfektion. Uppgiften i fråga kan vara så enkel som att skapa en rapport och skicka den till en administratör via sendmail eller så komplicerad som att hantera flera domäner länkade till flera brevlådor. Vid någon tidpunkt måste den demon du ska skapa prata med andra befintliga demoner.

interaktion mellan användare och daemon

Det är avskräckt att systemanvändaren och den skapade daemon kommunicerar direkt. Om det är nödvändigt för demonen skapar du för att kommunicera med en systemanvändare. Denna kommunikation kan underlättas genom något som ett GUI-gränssnitt. Denna kommunikationsplattform kan antingen ha GTK + GUI-komplexitet eller enkel signalinställning.

Skapa din demon

Många tillvägagångssätt stöder skapandet av demoner. Du kan till exempel använda kommandoradsgränssnittet för att demonisera ett Python-skript enligt följande:

$ python my_python_script.py &

Du kan spara Sander Marechals författade Python3-daemonkod i en Python-fil och demonisera den med ovanstående kommando. Medan ovanstående terminalkommando enkelt skapar en demon för dig, måste du hantera utmaningar som oförutsägbara terminalutgångar. Dessa utmaningar beror på hur bra du omformulerade din Python-daemonkod. Ovanstående tillvägagångssätt stöder inte tilldelning av PID-låsfiler till specifika demoner. Det gör det omöjligt att kontrollera någon demon eftersom de flesta kommer att köras omedelbart. Å andra sidan, om du bara behöver en enkel daemon, kommer ovannämnda tillvägagångssätt att ge dig önskade daemonresultat.

Daemon grundläggande struktur

Innan en daemon kör eller utför en avsedd funktion, måste den överväga några förutbestämda regler som leder till dess körning. Du kan tänka på dessa regler som hushållsarbete på låg nivå som leder till dess verkliga uppgift. Dessa regler kan delas upp i följande steg.

Mer om exempel på implementeringar av demoner finns på GitHub.

Mus WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
WinMouse låter dig anpassa och förbättra muspekarens rörelse på Windows PC
Om du vill förbättra standardfunktionerna för din muspekare, använd freeware WinMouse. Det lägger till fler funktioner som hjälper dig att få ut det m...
Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...
Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...