Hi Harald,

Harald Dunkel wrote (19 Jun 2014 07:24:03 GMT) :
> Doing a fork and becoming a daemon process are not the same.
> Something like "Type=forking" in the *.service file is
> ambiguous. Does systemd provide a controlling terminal to
> the ExecStart job that has to be dropped, before forking
> again?

> Please clarify.

daemon(7) has more details, including the fact that traditional SysV
Daemons must:

  6. In the child, call setsid() to detach from any terminal and
     create an independent session.
  7. In the child, call fork() again, to ensure that the daemon can
     never re-acquire a terminal again.

Now, this information can easily be found using $web_search_engine,
but I agree that it should be easier to find it when reading
systemd.service(5). If the section about Type=forking in this manpage
did point to daemon(7), would your concerns be addressed?

> The man page has a pretty weird description of the "behavior of
> traditional UNIX daemons".

I agree it's vague, but apparently it has some well-accepted meaning.
https://en.wikipedia.org/wiki/Daemon_(computing)#Creation reads:

  the common method for a process to become a daemon, when the process
  is started from the command line or from a startup script such as an
  init script or a SystemStarter script, involves:

    * Dissociating from the controlling tty

(I realize that pointing to Wikipedia feels weird here.)

Cheers,
--
intrigeri


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to