launching guis as programs other waysmultiprocessing if you backtrack to to study the portable launcher module used by example - to start programsyou'll see that it works by using os spawnv on windows and os fork/exec on others the net effect is that the gui processes are effectively started by launching command lines these techniques work wellbut as we learned in they are members of larger set of program launching tools that also includes os popenos systemos startfileand the subprocess and multiprocessing modulesthese tools can vary subtly in how they handle shell window connectionsparent process exitsand more for examplethe multiprocessing module we studied in provides similarly portable way to run our guis as independent processesas demonstrated in example - when runit produces the exact same windows shown in figure - except that the label in the main window is different example - pp \gui\tour\demoall-prg-multi py "" demo classes run as independent program processesmultiprocessingmultiprocessing allows us to launch named functions with argumentsbut not lambdasbecause they are not pickleable on windows ()multiprocessing also has its own ipc tools like pipes for communication""running gui code three ways