My two-cents-worth, it seems to me that between using the file and the redis backtrace stuff, it seems that pipes are probably easier to work with and more concise. No one has to clean up any PID files, no using auxiliary redis keys, etc. Just seems more concise and is more typical of what a real daemon would do.

It could also potentially even capture stdout from the child process and it might make it easier to get lots of output from crashes