Я смотрел на создание Unix dæmons, и, похоже, есть два метода. Самый длинный, который, кажется, всплывает при поиске - это вызвать fork()
, setsid()
, fork()
снова, chdir()
в безопасное место, установить umask()
и, наконец, close()
stdin
, stdout
и stderr
.
Выполнение man daemon
, однако, приводит к информации о функции daemon()
, которая, похоже, делает все то же самое, что и выше. Есть ли какие-либо различия между этими двумя подходами или daemon()
- это просто удобная функция, которая делает то же самое, что и длинный извилистый метод? Может ли любой из них быть лучше, особенно для начинающего программиста на C?