aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/irdbd.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rpki/irdbd.py')
-rw-r--r--rpkid/rpki/irdbd.py35
1 files changed, 28 insertions, 7 deletions
diff --git a/rpkid/rpki/irdbd.py b/rpkid/rpki/irdbd.py
index 28e26b07..166b160a 100644
--- a/rpkid/rpki/irdbd.py
+++ b/rpkid/rpki/irdbd.py
@@ -1,7 +1,10 @@
"""
IR database daemon.
-Usage: python irdbd.py [ { -c | --config } configfile ] [ { -h | --help } ]
+Usage: python irdbd.py [ { -c | --config } configfile ]
+ [ { -d | --debug } ]
+ [ { -f | --foreground } ]
+ [ { -h | --help } ]
$Id$
@@ -34,9 +37,21 @@ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
"""
-import sys, os, time, getopt, urlparse, warnings
-import rpki.http, rpki.config, rpki.resource_set, rpki.relaxng
-import rpki.exceptions, rpki.left_right, rpki.log, rpki.x509
+import sys
+import os
+import time
+import getopt
+import urlparse
+import warnings
+import rpki.http
+import rpki.config
+import rpki.resource_set
+import rpki.relaxng
+import rpki.exceptions
+import rpki.left_right
+import rpki.log
+import rpki.x509
+import rpki.daemonize
class main(object):
@@ -127,8 +142,9 @@ class main(object):
time.tzset()
cfg_file = None
+ foreground = False
- opts, argv = getopt.getopt(sys.argv[1:], "c:dh?", ["config=", "debug", "help"])
+ opts, argv = getopt.getopt(sys.argv[1:], "c:dfh?", ["config=", "debug", "foreground", "help"])
for o, a in opts:
if o in ("-h", "--help", "-?"):
print __doc__
@@ -137,19 +153,24 @@ class main(object):
cfg_file = a
elif o in ("-d", "--debug"):
rpki.log.use_syslog = False
+ foreground = True
+ elif o in ("-f", "--foreground"):
+ foreground = True
if argv:
raise rpki.exceptions.CommandParseFailure("Unexpected arguments %s" % argv)
rpki.log.init("irdbd")
cfg = rpki.config.parser(cfg_file, "irdbd")
+ cfg.set_global_flags()
+
+ if not foreground:
+ rpki.daemonize.daemon()
startup_msg = cfg.get("startup-message", "")
if startup_msg:
rpki.log.info(startup_msg)
- cfg.set_global_flags()
-
# Do -not- turn on DEBUG here except for short-lived tests,
# otherwise irdbd will eventually run out of memory and crash.
#