System daemons
As already stated, a daemon is a computer program that runs as a background process; in particular, for a Unix system, the Unix bible Advanced Programming in the UNIX Environment by Richard Stevens says:
Daemons are processes that live for a long time. They are often started when the system is bootstrapped and terminate only when the system is shutdown. We say they run in background, because they don't have a controlling terminal.
This behavior is so important that a special function has been implemented in the glibc library that permits the developer to easily create a daemon process. The function is (obviously) named daemon().
Just to fix this concept, we report a possible implementation of the daemon() function in order to show you which steps a process should carry out in order to turn itself into a daemon:
int daemon(void)
{
    int fd; 
    /* Create the daemon grand-child process */
    switch (fork()) {
    case -1: 
        return -1;       /* error! */ 
    case 0... 
                                             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
     
         
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                