--- scripts/tracd.orig 2007-03-02 06:54:26.305912214 +0900 +++ scripts/tracd 2007-03-02 06:53:32.207262227 +0900 @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python # -*- coding: iso8859-1 -*- # # Copyright (C) 2003, 2004, 2005 Edgewall Software @@ -32,6 +32,7 @@ print '-b --hostname [hostname]\tIP to bind to (default: \'\')' print '-d --daemonize\tRun tracd in the background as a daemon' print '-e --env-parent-dir \tParent directory of the project environments' + print '-P --pid-file \tPid file (default: /var/run/tracd.pid)' print sys.exit(1) @@ -52,11 +53,13 @@ hostname = '' auths = {} daemonize = 0 + pidfilename = '/var/run/tracd/tracd.pid' env_parent_dir = None try: - opts, args = getopt.getopt(sys.argv[1:], "a:p:b:de:", + opts, args = getopt.getopt(sys.argv[1:], "a:p:b:de:P", ["auth=", "port=", "hostname=","daemonize", - "env-parent-dir=", "basic-auth="]) + "env-parent-dir=", "basic-auth=", + "pid-file="]) except getopt.GetoptError, e: print e usage() @@ -74,6 +77,8 @@ daemonize = 1 if o in ("-e", "--env-parent-dir"): env_parent_dir = a + if o in ("-P", "--pid-file"): + pidfilename = a if not env_parent_dir and not args: usage() @@ -93,6 +98,9 @@ sys.stderr = open('/dev/null', 'w') else: print 'tracd daemon running with pid: %d' % pid + pidfile = open(pidfilename, 'w') + pidfile.write(str(pid)) + pidfile.close() sys.exit(0) httpd.serve_forever() except OSError: