def __init__(self, stdout=None, stderr=None, stdin=None, close_fds=False, exclude_fds=None,<EOL>daemonize=False):
self.stdout = stdout<EOL>self.stderr = stderr<EOL>self.stdin = stdin<EOL>self.close_fds = close_fds<EOL>self.exclude_fds = set()<EOL>self.daemonize = daemonize<EOL>self.pid = None<EOL>self.shared_pid = Value('<STR_LIT:i>', <NUM_LIT:0>)<EOL>for item in list(exclude_fds or []) + [stdout, stderr, stdin]:<EOL><INDENT>if hasattr(item, '<STR_LIT>'):<EOL><INDENT>item = item.fileno()<EOL><DEDENT>self.exclude_fds.add(item)<EOL><DEDENT>
Fork and detach a process. The stdio streams of the child default to /dev/null but may be
overridden with the `stdout`, `stderr`, and `stdin` parameters. If `close_fds` is True then
all open file descriptors (except those passed as overrides for stdio) are closed by the
child process. File descriptors in `exclude_fds` will not be closed. If `daemonize` is True
then the parent process exits.