Split your problem into two problems:
- Make sure that only one instance of a program is run.
- Display a page to watch a long-running process.
Unsurprisingly, merlyn has solved both problems for you already:
- Highlander - allow only one invocation at a time of an expensive CGI script
- Watching Long Processes Through CGI