On Sunday, 31 August 2014 at 09:02:55 UTC, JD wrote:

Last snippet works for me, dots get printed to the logfile as expected.

Ok, it works now. Using the recommended _Exit() function with DMD 2.066 on Linux.
Thanks you all for your help!

Best regards,
Jeroen

On a side note, i've created daemons like this before but then i found a rather nice posix system call to do it all for me:

extern (C)
{
        /**
* The daemon() function is for programs wishing to detach themselves * from the controlling terminal and run in the background as system
         * daemons.
         *
* (This function forks, and if the fork(2) succeeds, the parent calls * _exit(2), so that further errors are seen by the child only.) On * success daemon() returns zero. If an error occurs, daemon() returns * -1 and sets errno to any of the errors specified for the fork(2) and
         * setsid(2).
         *
         * Params:
* nochdir = If nochdir is zero, daemon() changes the calling process's * current working directory to the root directory ("/"); otherwise,
         *     the current working directory is left unchanged.
* noclose = If noclose is zero, daemon() redirects standard input, * standard output and standard error to /dev/null; otherwise, no
         *     changes are made to these file descriptors.
         */
        int daemon(int nochdir, int noclose);
}

This is a lot easier to use. :)

Reply via email to