Hogyan hozzunk létre egy démon linux, mainloop

Az első villa felhívja a funkciót. amely létrehoz egy példányt a folyamat. A szülő-PID függvény a folyamat során a gyermek folyamat és a gyermek folyamat villa értéke 0.

Hívás setsid létrehoz egy új munkamenetet. Létrehozva egy új ülés nyújt számunkra a következő előnyökkel jár: a válás folyamata vezetője az új ülés, és az eljárást a vezetője egy új folyamat-csoport és a folyamat nem ellenőrzi a terminál.

chdir ( «/») megváltoztatja az aktuális könyvtárat a root folyamat, amely felszabadítja a fájlrendszert, amelyre a démon indításakor.

Nos, hívja közel (stdin). bezár (stdout). bezár (stderr) közel fájlleírókkal standard input és output.

Végrehajtás mainloop funkció függ a cél a démon, így a kód e funkció itt nem szerepel.

Mondja AMP. Szeretek minden 5 percben szervereken ellenőrizheti, hogy van ts3server_linux folyamat, és ha nem létezik, akkor végrehajtott volna a parancsot
/home/teamspeak3-server_linux-x86/ts3server_startscript.sh Start
nevében a felhasználó tssrv

Artyom Dvinin mondja:

Lehetőség van, hogy írjon egy forgatókönyvet, amely megvizsgálja, hogy a folyamat fut (például: ps -C ts3server_linux || /home/teamspeak3-server_linux-x86/ts3server_startscript.sh indul). És felírhatja ezt a szkriptet a crontab.

És még tanácsot, hogy vizsgálja meg félre speciálisan élezett erre a célra közművek, daemontools vagy runit.

Ha további információra van szüksége - forduljon képes lehet segíteni.

Kapcsolódó cikkek