I am in reference to the Twelve-Factor app "manifesto" which can be found here: http://12factor.net
In the eighth factor, the author writes:
Twelve-factor app processes should never daemonize or write PID files. Instead, rely on the operating system’s process manager (such as Upstart, a distributed process manager on a cloud platform, or a tool like Foreman in development) to manage output streams, respond to crashed processes, and handle user-initiated restarts and shutdowns.
I am not sure what is meant here by "processes should never daemonize".
Can someone please explain what the pros and cons of daemonizing a process would be - especially in the context of a java process? Also, can't a daemonized process be managed by a process manager?