hammer: keep running a command until it succeeds