Intereting Posts
Как установить пикасу с вином Почему я не мог использовать '~' вместо '/ home / username /' при предоставлении пути к файлу Беспроводная локальная сеть не работает на Lenovo Ideapad S205 Как узнать, поддерживает ли Ubuntu графику с аппаратным ускорением на моем ноутбуке? Что мне не хватает, чтобы получить символические ссылки для работы с CIFS? Есть ли PPA для получения последних версий Mono и Monodevelop? Как включить ssh root-доступ на Ubuntu 14.04 Как заставить Synergy разместить мертвое пространство вокруг двух мониторов? Juju возвращает «Нет подходящего узла доступен» при попытке загрузки MaaS Как создать веб-интерфейс для моего сценария Python? Можно ли перезапустить X без закрытия всех приложений в текущем сеансе? Не удалось установить Github-Pages с драгоценным камнем? Я принимал EULA ttf-mscorefonts-installer? Msgstr "Невозможно установить URL-адрес cifs", когда я пытаюсь установить долю samba Как выполнить скрипт, дважды щелкнув, как .EXE-файлы, в Windows?

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

У меня есть 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() вы получаете параллельное выполнение.