Added --daemonize option
authorJean-Michel Nirgal Vourgère <jmv@nirgal.com>
Wed, 18 Aug 2010 20:33:40 +0000 (20:33 +0000)
committerJean-Michel Nirgal Vourgère <jmv@nirgal.com>
Wed, 18 Aug 2010 20:33:40 +0000 (20:33 +0000)
bin/inputs/run.py

index 194826dce57d7954f903a0b1582907329baea634..b3c32b07baeb387d7800d86fef51c89520d3b042 100644 (file)
@@ -5,6 +5,7 @@
 This is the main runner for AIS inputs.
 '''
 
+#import os
 import sys
 import logging, logging.handlers
 from select import select
@@ -23,16 +24,44 @@ def main():
     from optparse import OptionParser
     parser = OptionParser('%prog [options] SOURCE*')
     parser.add_option('-d', '--debug',
-        help="debug mode",
+        help='Debug mode',
         action='store_true', dest='debug', default=False)
     parser.add_option('--stdout',
         help="Print incoming packets to stdout",
         action='store_true', dest='stdout', default=False)
+    parser.add_option('--background',
+        help='Run in the background',
+        action='store_true', dest='daemonize', default=False)
     parser.add_option('--db',
-        help="Process packet locally",
+        help='Process packets locally',
         action='store_true', dest='todb', default=False)
     options, args = parser.parse_args()
 
+
+    if options.daemonize:
+        from ais import daemonize
+        
+        daemonize.UMASK = 002
+        daemonize.REDIRECT_TO = '/var/log/ais/stderr'
+
+        daemonize.createDaemon()
+
+        #retCode = daemonize.createDaemon()
+        #procParams = """
+        #return code = %s
+        #process ID = %s
+        #parent process ID = %s
+        #process group ID = %s
+        #session ID = %s
+        #user ID = %s
+        #effective user ID = %s
+        #real group ID = %s
+        #effective group ID = %s
+        #""" % (retCode, os.getpid(), os.getppid(), os.getpgrp(), os.getsid(0),
+        #os.getuid(), os.geteuid(), os.getgid(), os.getegid())
+
+        #open("/var/log/ais/createDaemon.log", "w").write(procParams + "\n")
+
     if options.debug:
         loglevel = logging.DEBUG
     else: