diff --git a/archivebox/misc/logging_util.py b/archivebox/misc/logging_util.py
index 6b161b5c..42c85845 100644
--- a/archivebox/misc/logging_util.py
+++ b/archivebox/misc/logging_util.py
@@ -152,6 +152,11 @@ class TimedProgress:
                 except BaseException:                                           # lgtm [py/catch-base-exception]
                     pass
                 self.p.terminate()
+                time.sleep(0.1)
+                # sometimes the timer doesn't terminate properly, then blocks at the join until
+                # the full time has elapsed. sending a kill tries to avoid that.
+                if self.p.is_alive():
+                    self.p.kill() 
                 self.p.join()