While it would be nice to have a simple command that gives you the information you want, I disagree that parsing the output of ps is 'unportable'. It is certainly far more portable than /proc. The POSIX(ie SYSV) options for
ps have been standardized for quite some time, as have the BSD options. Most systems I have worked with (AIX, Solaris, Linux, HP-UX) support the POSIX options. The only one that would require different syntax is FreeBSD.
You might try just keeping track of PID and procname between calls to your monitor. Using 'ps -ex | grep 'name1|name2|...' should give you what you want with either a POSIX or BSD ps(pid will always be first field). If the same PID/procname shows up twice in a row, kill it off. Just a thought...
fnord