You can run a daemon-like process with its stdin/out firmly attached to a TTY: a virtual TTY inside a screen or tmux session that can be detached and reattached.
As was pointed out a few days ago, if the output stream exerts backpressure, write calls will stall. Stopping scrolling at the output end is enough to do that.