We have plans to support of not-requiring root to run the bluepill daemon, which would only work if all the processes were run by the same user. So you couldn't have 5 different processes all running as different users.
There are three other ways that I know of that will allow non-root users to act on bluepill:
1. We can do something similar to what Passenger does for restarting processes which is watch for a file. You can achieve this by having a process condition that checks for a file in some specified location every x seconds, if the file exists remove the file and restart the process. This is a simple way to do it but doesn't give much flexibility or control.
2. Another thing we can do is create several socket files instead of just one. We can have one sock file accessible by each user who has a process running for them and that sock file only allows commands executed on processes owned by that user. This would mean N + 1 socket files where N = the number of unique users that have processes running through bluepill.
3. Lastly, we can simply make the socket file world writeable which means anyone can issue bluepill commands (except for load). The processes themselves would still run as the specified user but could be start/stop/restarted by any user who has access to the machine.
Please share your thoughts on these approaches.
-Arya