Выполнение нескольких программ из одной программы

У меня есть 12 программ, которые я намерен запускать одновременно. Есть ли способ запустить все из них через одну программу, которая при построении запускает 12 программ?

Я использую возвышенное, а программы – python.

Если вы просто хотите выполнить программы один за другим в пакете, вы можете сделать это в сценарии bash. Предполагая, что они являются исполняемыми файлами в одной папке, вы можете иметь файл .sh со следующим содержимым:

 #!/bin/bash python ./my_app1.py & python ./my_app2.py & python ./my_app3.py 

Если сами скрипты имеют #!/usr/bin/env python наверху, чтобы идентифицировать интерпретатор, вы можете сделать chmod +x на них и превратить ваш файл runner.sh в:

 #!/bin/bash ./my_app1.py & ./my_app2.py & ./my_app3.py 

С другой стороны, если вы хотите сделать это из сценария python, вы можете использовать:

 import subprocess import os scripts_to_run = ['my_app1.py', 'my_app2.py', 'my_app3.py'] for s in scripts_to_run: subprocess.Popen([os.path.join(os.getcwd(), s)]) 

Примечание 1 : не забудьте включить #!/usr/bin/env python в каждый скрипт в первой строке.
Примечание 2 : важно использовать subprocess.Popen() вместо subprocess.call() потому что последняя является блокирующей функцией, которая будет ждать завершения приложения перед продолжением. С subproces.Popen() вы получаете параллельное выполнение.