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); }