Lines 636-648
def main ():
Link Here
|
636 |
parser.error('user %r does not exist' % options.user) |
636 |
parser.error('user %r does not exist' % options.user) |
637 |
except OSError: |
637 |
except OSError: |
638 |
parser.error('no permission for changing to user %r' % options.user) |
638 |
parser.error('no permission for changing to user %r' % options.user) |
639 |
pid = os.fork() # fork process |
|
|
640 |
if pid: # parent process |
641 |
pidfile.write(str(pid)) # store child's pid |
642 |
pidfile.close() |
643 |
return |
644 |
else: |
645 |
signal.signal(signal.SIGHUP, signal.SIG_IGN) |
646 |
else: |
639 |
else: |
647 |
handler = logging.StreamHandler(sys.stdout) # log to stdout |
640 |
handler = logging.StreamHandler(sys.stdout) # log to stdout |
648 |
handler.setFormatter(logging.Formatter('%(levelname)s: %(name)s %(message)s')) |
641 |
handler.setFormatter(logging.Formatter('%(levelname)s: %(name)s %(message)s')) |
Lines 651-660
def main ():
Link Here
|
651 |
try: |
644 |
try: |
652 |
os.chdir(options.dir) # change to cache directory |
645 |
os.chdir(options.dir) # change to cache directory |
653 |
except OSError: |
646 |
except OSError: |
654 |
parser.error('invalid directory %r' % options.dir) |
647 |
parser.error('invalid directory %r\n' \ |
|
|
648 |
'Try running repcacheman, and/or see\n' \ |
649 |
'http://forums.gentoo.org/viewtopic-t-173226.html' \ |
650 |
% options.dir) |
655 |
if not os.access(os.curdir, os.R_OK | os.W_OK): # check permissions for cache directory |
651 |
if not os.access(os.curdir, os.R_OK | os.W_OK): # check permissions for cache directory |
656 |
parser.error('no read/write permission for directory %r' % options.dir) |
652 |
parser.error('no read/write permission for directory %r' % options.dir) |
657 |
|
653 |
|
|
|
654 |
if options.daemon: |
655 |
pid = os.fork() # fork process |
656 |
if pid: # parent process |
657 |
pidfile.write(str(pid)) # store child's pid |
658 |
pidfile.close() |
659 |
return |
660 |
else: |
661 |
signal.signal(signal.SIGHUP, signal.SIG_IGN) |
662 |
|
658 |
sys.stdout = sys.stderr = open('/dev/null', 'w') # redirect all output to bit bucket |
663 |
sys.stdout = sys.stderr = open('/dev/null', 'w') # redirect all output to bit bucket |
659 |
logging.root.name = 'HttpReplicator' |
664 |
logging.root.name = 'HttpReplicator' |
660 |
try: |
665 |
try: |