MM> by definition a daemon has no controlling terminal --- so
MM> obviously printf() is out for that.

False. "Has no controlling terminal" is not the same as "has no
standard output".

http://homepages.tesco.net./~J.deBoy...A/unix-daemon-
design-mistakes-to-avoid.html>