Does anyone know how attack_batch technically works?

I've imported a bunch of passwords from a txt file. Now I'm using attack_batch on a handshake file. When I ctrl-c and stop it, then check pyrit eval, it shows my essid has some percentage completed. But when I start up the same command it seems to start from 0% again. But if I ctrl-c again and check pyrit eval it's actually even more completed.

When I start attack_batch multiple times, is it actually continuing to check my particular essid? Because what I'm getting at here and trying to do is a way to continue my attack later when I have to turn the computer off. I figured attack_passthrough would reset from the beginning after I reboot. And what I also want is to see when it finds the password so I can stop it if doesn't do that automatically. I've run the batch command before then attack_db, but this time I want optimum computer usage and calculate the PMKs only up to the point until I get the p/w. Seems like such a waste of time to batch calculate all PMKs when the answer could be near the beginning.