##// END OF EJS Templates
Docstring cleanup for kernelmanagers and channels....
Docstring cleanup for kernelmanagers and channels. We have decided to put the docstrings on the base implementations in IPython.zmq.kernelmanager. The ABCs in IPython.zmq.kernelmanager.abc and implementation in IPython.inprocess.kernelmanager point to this location.

File last commit:

r7787:28b538a9
r9128:a59ed776
Show More
daemonize.py
26 lines | 833 B | text/x-python | PythonLexer
"""daemonize function from twisted.scripts._twistd_unix."""
#-----------------------------------------------------------------------------
# Copyright (c) Twisted Matrix Laboratories.
# See Twisted's LICENSE for details.
# http://twistedmatrix.com/
#-----------------------------------------------------------------------------
import os, errno
def daemonize():
# See http://www.erlenstar.demon.co.uk/unix/faq_toc.html#TOC16
if os.fork(): # launch child and...
os._exit(0) # kill off parent
os.setsid()
if os.fork(): # launch child and...
os._exit(0) # kill off parent again.
null = os.open('/dev/null', os.O_RDWR)
for i in range(3):
try:
os.dup2(null, i)
except OSError as e:
if e.errno != errno.EBADF:
raise
os.close(null)