As long as your using javascript already, I think I would use something like
Progress Bar. Have the background process write to a file instead of STDOUT, and make a little CGI script to serve up the value
in the file. javascript takes care of the rest, pinging the CGI until it sees 'complete' or whatever, and puts up a 'congratulations-your done' message. The background process can delete-previous/create-new file on startup(submit) with a unique name for that session which is handed back to the browser on submit at the beginning of the process, thus informing ajax of what it needs to request.
So I tossed this out here as an idea, but I would guess it has some holes in it. Will be interested to hear what others have done... .
Just a thought....
...the majority is always wrong, and always the last to know about it...Insanity: Doing the same thing over and over again and expecting different results...