Eigenes Programm als "daemon" starten

Herakles

Profifragensteller
Moin!

Ich hatte ein kleines C-Programm bisher immer damit in den "deamon"-mode geschickt, indem ich ein setsid(2) aufgerufen habe.

Jetzt musste ich das Programm ein wenig erweitern und mit pthreads versehen. Nun gelingt mir das "daemonizen" nicht mehr, in der manpage von setsid(2) ist auch dies hier zu lesen:

ERRORS
On error, -1 is returned, and errno is set. The only error which can
happen is EPERM. It is returned when the process group ID of any pro‐
cess equals the PID of the calling process. Thus, in particular, set‐
sid() fails if the calling process is already a process group leader.

Ich nehme an, dass diese Problem auch bei mir vorliegt, wenn ich threads eröffne.

Wie auch immer: wie bekomme ich mein Programm effektiv in den "daemon"-mode? Das setsid(2) von vorher gefiel mir echt gut. Eine Zeile und fertig war es.

Ideen?


Herakles
 
Moin!

Ich hatte ein kleines C-Programm bisher immer damit in den "deamon"-mode geschickt, indem ich ein setsid(2) aufgerufen habe.

Jetzt musste ich das Programm ein wenig erweitern und mit pthreads versehen. Nun gelingt mir das "daemonizen" nicht mehr, in der manpage von setsid(2) ist auch dies hier zu lesen:



Ich nehme an, dass diese Problem auch bei mir vorliegt, wenn ich threads eröffne.

Wie auch immer: wie bekomme ich mein Programm effektiv in den "daemon"-mode? Das setsid(2) von vorher gefiel mir echt gut. Eine Zeile und fertig war es.

Ideen?


Herakles

vielleicht hilft dir das?

http://www.openbsd.org/cgi-bin/man....manpath=OpenBSD+Current&arch=i386&format=html
 
Zurück
Oben