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.