From: Ian Jackson Date: Sun, 9 Apr 2017 01:02:31 +0000 (+0100) Subject: hippotatd: support --pidfile X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/hippotat/commitdiff_plain/2eecd19c0f96d98e599b680447510aac06e8dd86 hippotatd: support --pidfile Signed-off-by: Ian Jackson --- diff --git a/hippotatd b/hippotatd index f4bc551..e3e42fb 100755 --- a/hippotatd +++ b/hippotatd @@ -391,9 +391,15 @@ def daemonise(): # we are the intermediate child os._exit(0) + mypid = os.getpid() + if opts.pidfile is not None: + pfh = open(opts.pidfile, 'w') + print(mypid, file=pfh) + pfh.close() + logger = subprocess.Popen(['logger','-d', '-t','hippotat(stderr)', - '--id=%d' % os.getpid(), + '--id=%d' % mypid, '-p',opts.syslogfacility + '.err'], stdin=subprocess.PIPE, stdout=subprocess.DEVNULL, @@ -429,6 +435,11 @@ optparser.add_option('--daemon', action='store_true', dest='daemon', default=False, help='daemonize (and log to syslog)') +optparser.add_option('--pidfile', + nargs=1, type='string', + action='store', dest='pidfile', default=None, + help='write pid to this file') + optparser.add_option('--syslog-facility', nargs=1, type='string',action='store', metavar='FACILITY', dest='syslogfacility', diff --git a/hippotatlib/__init__.py b/hippotatlib/__init__.py index 7bdf4ea..bf599e7 100644 --- a/hippotatlib/__init__.py +++ b/hippotatlib/__init__.py @@ -662,4 +662,4 @@ just `+': all DFLAGs. def common_run(): log_debug(DBG.INIT, 'entering reactor') if not _crashing: reactor.run() - print('CRASHED (end)', file=sys.stderr) + print('ENDED', file=sys.stderr)