Continuo a non capire il tuo problema che mi pare descritto in maniera più incasinata di prima.
Ad ogni modo:
Rattoppi di questo tipo non sono una cosa bellissima da fare.Una soluzione possibile sarebbe quella di far in modo che una volta avviato il programma, lui esegua tutto, e si riavvii da solo... ma si può fare?
Cmq se proprio non hai alternative il modulo subprocess dovrebbe fornirti la possibilità di lanciare sotto processi indipendenti (nel senso indipendenti dal processo che lancia il sotto processo per cui il primo può anche morire senza portarsi dietro il secondo).
Nella doc trovi molti esempi.