I just did a simple watchdog script for internal use to enable HBase process restarts on failure. While most of it was easy, I found no way to distinguish between a process failure and intentional stop, since the HBase scripts leave PID files sitting around after shutdown.
I think it would be generally useful for hbase-daemon.sh to cleanup PID files on successful process stop. This is really just a matter of adding "rm $pid" after stop completes. Any concerns/objections?