from multiprocessing import Process #uncommenting the next line will consume a lot of memory #import multiprocessing.managers def fork_recursive(forks): print forks if forks > 0: child = Process(target=fork_recursive, args=[forks - 1]) child.start() child.join() if __name__ == '__main__': fork_recursive(30)