Cum de a crea un demon în Linux, mainloop

Primul apel funcția de furcă. care creează o copie a procesului. Funcția părinte-PID returnează procesul a generat un proces de copil și furca proces copil returnează 0.

setsid Apel creează o nouă sesiune. Crearea unei noi sesiuni ne va oferi următoarele avantaje: procesul de a deveni un lider al noii sesiuni, procesul devine liderul unui nou grup de proces, iar procesul nu controlează terminalul.

chdir ( «/») își schimbă directorul curent la rădăcina procesului, care va elibera sistemul de fișiere la care a fost început daemon.

Ei bine, sună aproape (stdin). închidere (stdout). inchide (stderr) descriptori de fișiere strânse de intrare și de ieșire standard.

Funcția mainloop de punere în aplicare depinde de destinația demon, astfel încât codul de această funcție nu este dat aici.

Spune-AMPS. Îmi place la fiecare 5 minute pe serverele verifică dacă există proces ts3server_linux și în cazul în care nu există, ar fi efectuat comanda
Start /home/teamspeak3-server_linux-x86/ts3server_startscript.sh
în numele utilizatorului tssrv

Artyom Dvinin spune:

Este posibil să se scrie un scenariu, care verifică dacă procesul se execută (de exemplu, ca: ps -C ts3server_linux || /home/teamspeak3-server_linux-x86/ts3server_startscript.sh start). Prescrie rula acest script în crontab.

Și totuși sfătui să se uite deoparte special pentru acest scop ascuțit utilități, daemontools sau runit.

Dacă aveți nevoie de mai multe informații - vă rugăm să contactați pot fi în măsură să ajute.

articole similare