systemd seems to prefer non-forking daemons. I have a few custom-written daemons that I will be running on 12.2 with systemd, and although they have the option of not forking (usually for debugging purposes), I was just wondering what the "correct" or at least most appropriate behaviour is.
I.e. for sysVinit:
daemon is started, forks, drops privileges, closes stdin/out/err, setsid(), and it's running.
daemon is started, drops privileges, closes stdin/out/err?, setsid()? and it's running.