I did something similar some time ago, but in far simpler form. I called it "process race" - prace for short.
Basically you write simple shell script to start your processes and at the and you exec prace so it takes over children of shell:
#!/bin/sh
proc1 &
proc2 &
proc3 &
exec prace
You could also do this as a part of shell script in this way: (proc1 & proc2 & proc3 & exec prace)
Then prace has simple job. It wait(2)s and then kills all children.I have it somewhere if someone is interested, but I can access it in few hours. But everything is written in at most 2/3 terminal screens worth of C.