Я создаю скрипт python (start.py) для запуска нескольких (4) скриптов python. Мой код:Выполнение скрипта Python без создания нового процесса с подпроцессом
import subprocess
from time import sleep
y=(0.2)
sleep (y)
subprocess.Popen(["python", 'a1.py'])
sleep (y)
subprocess.Popen(["python", 'a2.py'])
sleep (y)
subprocess.Popen(["python", 'a3.py'])
sleep (y)
subprocess.Popen(["python", 'a4.py'])
Когда я бегу start.py четыре сценарии выполняются в фоновом режиме, как я ожидал, но каждый из них с идентификатором процесса. Возможно ли иметь один PID для всех?
И как я могу сделать start.py
при запуске в качестве сервиса? (я использую малиновый пи).
есть причина для запуска сценариев как подпроцессы вместо просто [импортировать их и запускать соответствующие функции] (http://stackoverflow.com/q/30076185/4279)? – jfs
Исправьте свой отступ кода. Это всего лишь 4 пробела, поэтому мое редактирование не может пройти мимо фильтра дерьма. –
Действительно старый школьный способ - написать каждый скрипт так, чтобы он «execve()» следующий, а в главном скрипте начинался с 'execve()' ing the first;) Таким образом вы просто заменяете процессы, так что это одно и то же PID во всем. –