Browse Source

Debugserver can now run as a daemon

Michael Schwarz 9 years ago
parent
commit
609e586ff4
1 changed files with 23 additions and 1 deletions
  1. 23 1
      server.py

+ 23 - 1
server.py

@@ -3,11 +3,12 @@ from __future__ import print_function
 import datetime
 import socket
 import random, string
+import daemon, getopt, sys
 
 def myrandom(length):
    return ''.join(random.choice(string.lowercase) for i in range(length))
 
-if __name__ == '__main__':
+def server():
     TCP_IP = '::'
     TCP_PORT = 1337
     BUFFER_SIZE = 1024
@@ -37,3 +38,24 @@ if __name__ == '__main__':
 
         print('new report "{0}" from [{2}]:{3} stored as "{1}"'.format(report_id, filename, addr[0], addr[1]))
     pass
+
+if __name__ == '__main__':
+	try: 
+		opts, args = getopt.getopt(sys.argv[1:], "d", ["do-not-daemonize", ""])
+	except:
+		print ('Unrecognized option')
+		sys.exit(2)
+
+	daemonize = True
+
+	for opt, arg in opts:
+		if opt in ("-d", "--do-not-daemonize"):
+			daemonize = False
+		else:
+			assert False
+	
+	if daemonize == False:
+		server()
+	else:
+		with daemon.DaemonContext():
+			server()