Yeah, as I thought. You're using a (probably global) lockfile on this recipe, so procmail is waiting for the previous spamc to finish before it starts the next one. Try this instead::0fw:spam.lock | spamc -f :0e { EXITCODE=$? } and no there are not hundreds of spamc processes that I noticed. I did
:0fw
| spamc -f
:0e
{
EXITCODE=$?
}
That'll remove the unneccessary locking, and should mean you have fewer procmails waiting around for the other ones to finish.
C