jShell has events called _StdOut and _StdErr. I think these are raised anytime there's new data on those streams. I've had mixed success working with those events, though.
There's another amusing hack you could try, though. You could redirect Standard Out and Standard Error to files in your jShell code and then watch those files with the jFileWatcher library. When those files are modified, you will get events raised and then you can inspect the contents of those files for info on how your 7-zip process is coming along.
But I would try the _StdOut and _StdErr events, first.