mirror of
https://github.com/Kozea/Radicale.git
synced 2025-08-01 18:18:31 +00:00
Add an option to store PID in daemon mode
This commit is contained in:
parent
bd2c50dadf
commit
06f1987975
3 changed files with 14 additions and 2 deletions
13
radicale.py
13
radicale.py
|
@ -47,6 +47,10 @@ parser.add_option(
|
|||
"-d", "--daemon", action="store_true",
|
||||
default=radicale.config.getboolean("server", "daemon"),
|
||||
help="launch as daemon")
|
||||
parser.add_option(
|
||||
"-p", "--pid",
|
||||
default=radicale.config.get("server", "pid"),
|
||||
help="set PID filename for daemon mode")
|
||||
parser.add_option(
|
||||
"-f", "--foreground", action="store_false", dest="daemon",
|
||||
help="launch in foreground (opposite of --daemon)")
|
||||
|
@ -88,8 +92,13 @@ radicale.log.start()
|
|||
|
||||
# Fork if Radicale is launched as daemon
|
||||
if options.daemon:
|
||||
if os.fork():
|
||||
sys.exit()
|
||||
pid = os.fork()
|
||||
if pid:
|
||||
try:
|
||||
if options.pid:
|
||||
open(options.pid, 'w').write(str(pid))
|
||||
finally:
|
||||
sys.exit()
|
||||
sys.stdout = sys.stderr = open(os.devnull, "w")
|
||||
|
||||
radicale.log.LOGGER.info("Starting Radicale")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue