in reply to Tk process monitoring

Unless you actually started the other process yourself, and will be getting child-exit notification when the process is complete, you'll need to poll. In Tk, polling is performed using the after and repeat mechanisms. So, once you've set a button to green, set up an after-trigger so that 5 seconds later it attempts a kill 0 to the process ID. If that succeeds, then it's still alive, so set up the after-trigger again, but if not, set it to red.

I do encourage you though to take a serious look at using POE and Tk together. Tk's timeslicing is fairly simple: POE brings a lot of reusable timesliced tools to the picture, so your wheel invention is far less and easier.

-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.