Esempio n. 1
0
def start_daemon(pidfile, process, stdout=None, stderr=None, **kwargs):
    if pidfile:
        pidfile = PIDLockFile(pidfile)
        try:
            pidfile.acquire(timeout=1.0)
            pidfile.release()
        except LockFailed:
            raise
    else:
        pidfile = None

    stdout = stdout or sys.stdout
    stderr = stderr or sys.stderr
    with DaemonContext(pidfile=pidfile, stdout=stdout, stderr=stderr, **kwargs):
        process.start()