diff --git a/cherrypy/process/plugins.py b/cherrypy/process/plugins.py
index <HASH>..<HASH> 100644
--- a/cherrypy/process/plugins.py
+++ b/cherrypy/process/plugins.py
@@ -460,7 +460,7 @@ class BackgroundTask(threading.Thread):
     it won't delay stopping the whole process.
     """
 
-    def __init__(self, interval, function, args=[], kwargs={}, bus=None, *, daemon=True):
+    def __init__(self, interval, function, args=[], kwargs={}, bus=None, daemon=True):
         threading.Thread.__init__(self)
         self.interval = interval
         self.function = function
@@ -491,6 +491,9 @@ class BackgroundTask(threading.Thread):
                 # Quit on first error to avoid massive logs.
                 raise
 
+    def _set_daemon(self):
+        return True
+
 
 class Monitor(SimplePlugin):
     """WSPBus listener to periodically run a callback in its own thread."""
Fixes for python2
Tested on python <I> and python <I>