|
@@ -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()
|