A UNIX operációs rendszerben vannak olyan feladatok, amiket a háttérben (gyakran "észrevétlenül") futó folyamatok végeznek el. Ilyen például a rendszeres feladatok futtatását végzo cron program. Ezeket a programokat daemon folyamatoknak is nevezik. Mivel ezeket a folyamatokat nem a terminálról indítják, általában a rendszerindításkor automatikusan indulnak el, ezért nem illik a képernyore írniuk (esetleg nagyon nagy rendszerhibák esetén ezt azért megtehetik), és nem illik olyan eroforásokat fenntartaniuk, amikre nincs szükségük. Ahhoz, hogy egy daemon folyamat a feladatának ellátásához szükséges eroforrásokon kívül minél kevesebb más eroforrást foglaljon le, kialakítottak olyan konvenciókat, amiket a daemon folyamatokat írva követni érdemes. Ebben a pontban ezekrol a konvenciókról lesz szó, majd bemutatunk egy C kódrészletet, amely e konvenciók alapján lett megírva, és felhasználhatjuk saját daemon folyamataink készítésekor.
A fenti lépéseket a következo eljárás megteszi:
int daemon_init(void)
{
int pid;
close(0);
close(1);
close(2);
pid=fork();
if (pid < 0) return (-1);
if (pid != 0) exit(0); /* a szulo folyamat befejezi a futasat */
setsid();
chdir("/");
umask(0);
return(0);
}