I’ve been working on a number of Ruby applications which have a requirement to run a few different types of process — web servers, workers, crons — in order for the app to function fully. I wrote down a quick list of the things that my ideal process manager would do.
Other developers actually have to use the APIs you design. So don’t let those APIs suck. If you don’t want hordes of angry programmers to descend on your home in the middle the night with torches and pitchforks, you need to design them right.