From 2eecd19c0f96d98e599b680447510aac06e8dd86 Mon Sep 17 00:00:00 2001 Message-Id: <2eecd19c0f96d98e599b680447510aac06e8dd86.1714678149.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sun, 9 Apr 2017 02:02:31 +0100 Subject: [PATCH] hippotatd: support --pidfile Organization: Straylight/Edgeware From: Ian Jackson Signed-off-by: Ian Jackson --- hippotatd | 13 ++++++++++++- hippotatlib/__init__.py | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) 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) -- [mdw]