~loggerhead-team/loggerhead/trunk-rich

161 by Michael Hudson
don't insist on python 2.4
1
#!/usr/bin/env python
183.2.1 by John Arbash Meinel
Add Copyright information to most files.
2
# This program is free software; you can redistribute it and/or modify
3
# it under the terms of the GNU General Public License as published by
4
# the Free Software Foundation; either version 2 of the License, or
5
# (at your option) any later version.
6
#
7
# This program is distributed in the hope that it will be useful,
8
# but WITHOUT ANY WARRANTY; without even the implied warranty of
9
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
# GNU General Public License for more details.
11
#
12
# You should have received a copy of the GNU General Public License
13
# along with this program; if not, write to the Free Software
14
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
15
16
"""A script for stopping the loggerhead process."""
89 by Robey Pointer
fix up dev.cfg so that nobody will ever have to edit it, by letting the
17
18
import os
19
import sys
197.1.7 by Jelmer Vernooij
Add --pidfile option to stop-loggerhead.
20
from optparse import OptionParser
21
22
from loggerhead import release
89 by Robey Pointer
fix up dev.cfg so that nobody will ever have to edit it, by letting the
23
24
home = os.path.realpath(os.path.dirname(__file__))
197.1.7 by Jelmer Vernooij
Add --pidfile option to stop-loggerhead.
25
default_pidfile = os.path.join(home, 'loggerhead.pid')
26
parser = OptionParser(usage='usage: %prog [options]', version='%prog ' + release.version)
27
parser.add_option('-p', '--pidfile', dest="pidfile", default=default_pidfile,
28
				  help="override pidfile location")
29
30
options, args = parser.parse_args()
31
if len(args) > 0:
32
	parser.error('No filename arguments are used, only options.')
89 by Robey Pointer
fix up dev.cfg so that nobody will ever have to edit it, by letting the
33
34
try:
197.1.7 by Jelmer Vernooij
Add --pidfile option to stop-loggerhead.
35
    f = open(options.pidfile, 'r')
89 by Robey Pointer
fix up dev.cfg so that nobody will ever have to edit it, by letting the
36
except IOError, e:
197.1.7 by Jelmer Vernooij
Add --pidfile option to stop-loggerhead.
37
    print 'Pid file %s not found.' % options.pidfile
89 by Robey Pointer
fix up dev.cfg so that nobody will ever have to edit it, by letting the
38
    sys.exit(1)
39
40
pid = int(f.readline())
41
42
try:
43
    os.kill(pid, 0)
44
except OSError, e:
45
    print 'Stale pid file; server is not running.'
46
    sys.exit(1)
47
48
print
104 by Robey Pointer
fix silly typo.
49
print 'Shutting down previous server @ pid %d.' % (pid,)
89 by Robey Pointer
fix up dev.cfg so that nobody will ever have to edit it, by letting the
50
print
51
52
import signal
53
os.kill(pid, signal.SIGINT)