Many daemons "auto-background" themselves.
Technically this is accomplished by having the daemon call setsid(), then fork() and then having the parent exit(). The result is that the child is re-parented to process 1 (init) and is in its own "session group".
Unfortunately this means that a daemon started via k5start which does this is no longer a child of k5start; this means that k5start cannot do its job.
Here are some hints on how to get various daemons to disable this behavior:
The runit package also needs to disable this behavior, so they've collected a lot of hints here.
Pass in the -n argument
Pass in the -DFOREGROUND argument