Mercurial > templog
comparison py/tempserver.py @ 199:2affbaae408b
add --hup
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Fri, 07 Mar 2014 20:35:19 +0800 |
parents | be579bcf3c7f |
children | 5eb7e2400c18 |
comparison
equal
deleted
inserted
replaced
198:be579bcf3c7f | 199:2affbaae408b |
---|---|
106 setup_logging() | 106 setup_logging() |
107 | 107 |
108 heredir = os.path.abspath(os.path.dirname(__file__)) | 108 heredir = os.path.abspath(os.path.dirname(__file__)) |
109 pidpath = os.path.join(heredir, 'tempserver.pid') | 109 pidpath = os.path.join(heredir, 'tempserver.pid') |
110 pidf = lockfile.pidlockfile.PIDLockFile(pidpath, threaded=False) | 110 pidf = lockfile.pidlockfile.PIDLockFile(pidpath, threaded=False) |
111 do_hup = '--hup' in sys.argv | |
111 try: | 112 try: |
112 pidf.acquire(0) | 113 pidf.acquire(0) |
113 pidf.release() | 114 pidf.release() |
114 except lockfile.AlreadyLocked, e: | 115 except lockfile.AlreadyLocked, e: |
115 pid = pidf.read_pid() | 116 pid = pidf.read_pid() |
117 if do_hup: | |
118 try: | |
119 os.kill(pid, signal.SIGHUP) | |
120 print>>sys.stderr, "Sent SIGHUP to process %d" % pid | |
121 sys.exit(0) | |
122 except OSError: | |
123 print>>sys.stderr, "Process %d isn't running?" % pid | |
124 sys.exit(1) | |
125 | |
116 print>>sys.stderr, "Locked by PID %d" % pid | 126 print>>sys.stderr, "Locked by PID %d" % pid |
127 | |
117 stale = False | 128 stale = False |
118 if pid > 0: | 129 if pid > 0: |
119 if '--new' in sys.argv: | 130 if '--new' in sys.argv: |
120 try: | 131 try: |
121 os.kill(pid, 0) | 132 os.kill(pid, 0) |
139 if stale: | 150 if stale: |
140 # isn't still running, steal the lock | 151 # isn't still running, steal the lock |
141 print>>sys.stderr, "Unlinking stale lockfile %s for pid %d" % (pidpath, pid) | 152 print>>sys.stderr, "Unlinking stale lockfile %s for pid %d" % (pidpath, pid) |
142 pidf.break_lock() | 153 pidf.break_lock() |
143 | 154 |
155 if do_hup: | |
156 print>>sys.stderr, "Doesn't seem to be running" | |
157 sys.exit(1) | |
158 | |
144 if '--daemon' in sys.argv: | 159 if '--daemon' in sys.argv: |
145 logpath = os.path.join(os.path.dirname(__file__), 'tempserver.log') | 160 logpath = os.path.join(os.path.dirname(__file__), 'tempserver.log') |
146 logf = open(logpath, 'a+') | 161 logf = open(logpath, 'a+') |
147 with daemon.DaemonContext(pidfile=pidf, stdout=logf, stderr = logf): | 162 with daemon.DaemonContext(pidfile=pidf, stdout=logf, stderr = logf): |
148 start() | 163 start() |