Я пытаюсь создать независимые процессы в Python. Эти процессы представляют собой сценарий Python, который я хочу иметь несколько экземпляров, но создается с различными аргументами.
Проще говоря, из цикла for я вызываю subprocess.Popen (), но с различными значениями аргументов:
for d in mylist:
subprocess.Popen(['./subscriber.py', d.arg1, a.arg2, d.arg3])
В subscriber.py у меня есть код, который "демонизирует" процесс согласно различным рецептам
В качестве альтернативы, я также попытался запустить мой subscriber.py с:
for d in mylist:
p = multiprocessing.Process(target=subscriber.start,
args=(d.arg1, d.arg2, d.arg3))
p.daemon=True
p.start()
Мой скрипт также использует запись в Python для записи в общий файл журнала.
Что происходит с любым методом, так это то, что только процесс из последней итерации моего цикла остается фактически запущенным. Все, что мне нужно, это чтобы эти фоновые демоны работали "навсегда", но я могу получить только 1 экземпляр! [edit] Важно отметить, что я хочу, чтобы вызывающий поток завершился, оставив позади кучу запущенных демонов, работающих ..
Я много гуглил по стеку и в других местах, похоже, не могу найти подобный пример. Возможно, это мой питонский новичок .. мой подход совершенно неверен?
Среда: - Python-2.7, Ubuntu Linux