Python, subprocess.Popen, не запускается скрипт без process.communicate()

Есть метод из моего класса:

    def submit(self, job_spec):
        os.chdir(job_spec.workdir)
        script_path = '"%s"' % self.dump_run_script(job_spec)
        process = subprocess.Popen(script_path, shell=True, stdin=None, stdout=None, stderr=None)
        # stdout, stderr = process.communicate()
        # return stderr

script_path представляет собой полный путь к bat-файлу, который создается и заполняется в методе self.dump_run_script(). Батник верный, ручной запуск работает. Однако метод не работает в этом виде. Если раскомментировать строку:

# stdout, stderr = process.communicate()

то все заработает. Я же хочу в этом методе просто пустить батник не дожидаясь завершения его работы и вернуть pid номер процесса.


Ответы (0 шт):