Qual é a diferença entre chamar daemon () e chamar fork (), setsid (), fork (), etc

Eu estive procurando criar daemon Unix, e parece haver dois métodos. O mais longo, que parece surgir quando a pesquisa é chamarfork(), setsid(), fork() novamente,chdir() para um local seguro, definaumask() e finalmente,close() stdin, stdout estderr.

Corridaman daemon, no entanto, traz informações sobre umdaemon(), que parece fazer as mesmas coisas que as anteriores. Existem diferenças entre as duas abordagens ou édaemon() apenas uma função de conveniência que faz a mesma coisa que o método de corda longa? Qualquer um é melhor, especialmente para um programador C iniciante?

questionAnswers(3)

yourAnswerToTheQuestion