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 номер процесса.