Index: docs/django-admin.txt
--- docs/django-admin.txt	(revision 5692)
+++ docs/django-admin.txt	(working copy)
@@ -309,6 +309,12 @@
 
     django-admin.py runserver --noreload
 
+Run as daemon
+~~~~~~~~~~~~~~~~~~~~~~~
+If you wish to run the development server as a daemon, use the ``--daemonize`` option, like so::
+
+    django-admin.py runserver --daemonize
+
 shell
 -----
 
Index: django/core/management.py
--- django/core/management.py	(revision 5769)
+++ django/core/management.py	(working copy)
@@ -1202,7 +1202,7 @@
         sys.stderr.write(s.read())
         sys.exit(1)

-def runserver(addr, port, use_reloader=True, admin_media_dir=''):
+def runserver(addr, port, use_reloader=True, admin_media_dir='', daemonize=False):
     "Starts a lightweight Web server for development."
     from django.core.servers.basehttp import run, AdminMediaHandler, WSGIServerException
     from django.core.handlers.wsgi import WSGIHandler
@@ -1240,12 +1240,15 @@
             os._exit(1)
         except KeyboardInterrupt:
             sys.exit(0)
+    if daemonize:
+        from django.utils.daemonize import become_daemon
+        become_daemon()
     if use_reloader:
         from django.utils import autoreload
         autoreload.main(inner_run)
     else:
         inner_run()
-runserver.args = '[--noreload] [--adminmedia=ADMIN_MEDIA_PATH] [optional port number, or ipaddr:port]'
+runserver.args = '[--daemonize] [--noreload] [--adminmedia=ADMIN_MEDIA_PATH] [optional port number, or ipaddr:port]'

 def createcachetable(tablename):
     "Creates the table needed to use the SQL cache backend"
@@ -1575,6 +1578,8 @@
         help='Tells Django to NOT prompt the user for input of any kind.')
     parser.add_option('--noreload', action='store_false', dest='use_reloader', default=True,
         help='Tells Django to NOT use the auto-reloader when running the development server.')
+    parser.add_option('--daemonize', action='store_true', dest='daemonize', default=False,
+        help='Tells Django to daemonize the the development server.')
     parser.add_option('--format', default='json', dest='format',
         help='Specifies the output serialization format for fixtures')
     parser.add_option('--indent', default=None, dest='indent',
@@ -1656,7 +1661,7 @@
                 addr, port = args[1].split(':')
             except ValueError:
                 addr, port = '', args[1]
-        action_mapping[action](addr, port, options.use_reloader, options.admin_media_path)
+        action_mapping[action](addr, port, options.use_reloader, options.admin_media_path, options.daemonize)
     elif action == 'runfcgi':
         action_mapping[action](args[1:])
     elif action == 'sqlinitialdata':