внешняя программа вызова python не блокирует

есть ли способ вызвать внешнюю программу внутри python и не дождаться завершения ее выполнения?

Я пробовал это, но не повезло:

os.system("external_program &") 

Обычно, если я вызываю external_program & внутри оболочки bash, она выполняется как фоновый процесс. Как я могу сделать это внутри python? Ибо, мой специальный случай, создающий другой поток, не работает. После выполнения основного скрипта python внешняя программа должна продолжить выполнение.

    Да, используйте модуль subprocess . Например:

     p = subprocess.Popen(['external_program', 'arg1', 'arg2']) # Process is now running in the background, do other stuff... ... # Check if process has completed if p.poll() is not None: ... ... # Wait for process to complete p.wait() 

    Забудьте о os.system() . Он устарел в пользу модуля subprocess .

    Он обеспечивает способ выполнения подпрограмм практически для каждого мыслимого варианта использования.