after a brief reading, i stopped. this tutorial deals nothing with forking a process. assigning the child process to /dev/null is not what a fork means to be since nobody gains control over the script (it only "dumps" the output through a background process).
anyway, here is a good intro for (posix) thread programming (thread vs. fork, mutexes, pipe, etc). this would give some explanation about forking and threading process, the background and the technique.