def _start_process(self, settings):
        options = {
            'stdin': subprocess.PIPE,
            'stdout': subprocess.PIPE,
            'stderr': subprocess.PIPE,
            'universal_newlines': True,
            'cwd': CUR_DIR,
            'bufsize': -1,
        }

        # hide "cmd" window in Windows
        if sys.platform == "win32":
            startupinfo = subprocess.STARTUPINFO()
            startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
            options['startupinfo'] = startupinfo

        command = [
            settings['python_interpreter'],
            '-B', 'daemon.py',
            '-p', settings['project_name']
        ]
        for folder in settings['extra_packages']:
            command.extend(['-e', folder])
        command.extend(['-f', settings['complete_funcargs']])

        logger.debug(
            'Daemon process starting with parameters: {0} {1}'
            .format(command, options)
        )
        try:
            return subprocess.Popen(command, **options)
        except __HOLE__:
            logger.error(
                'Daemon process failed with next parameters: {0} {1}'
                .format(command, options)
            )
            raise
dataset/ETHPy150Open srusskih/SublimeJEDI/sublime_jedi/utils.py/Daemon._start_process