I have a main file that launches multiple processes and one of the processes again launches multiple processes. I am having problems launching the nested set of processes.
You are not able to create child process from parallel_test when you invoke it as child process from another program for the reason that the process is getting created as daemonic process and as it is mentioned in the link https://docs.python.org/2/library/multiprocessing.html , daemonic process is not allowed to create child process. You have to create the process as non daemonic process by setting the daemon property of the process to be false as like below.
p = multiprocessing.Process(target=test.main)
p.daemon = False
p.start()
p.join()
I am not sure how to set the daemon property when you create child process through Pool module. You can try to pass this property through initializer list.