Я пытаюсь выполнить неблокирующий скрипт bash из python и получить его код возврата. Вот моя функция на данный момент:
def run_bash_script(script_fullname, logfile):
my_cmd = ". " + script_fullname + " >" + logfile +" 2>&1"
p = subprocess.Popen(my_cmd, shell=True)
os.waitpid(p.pid, 0)
print(p.returncode)
Как видите, все выходные данные перенаправляются в файл журнала, который я могу отслеживать во время выполнения процесса bash.
Однако последняя команда просто возвращает «Нет» вместо полезного кода завершения.
Что я здесь не так делаю?