simple files command-line arguments program exit status codes shell environment variables standard stream redirections stream pipes managed by os popen and subprocess for instancesending command-line options and writing to input streams lets us pass in program execution parametersreading program output streams and exit codes gives us way to grab result because shell environment variable settings are inherited by spawned programsthey provide another way to pass context in and pipes made by os popen or subprocess allow even more dynamic communication data can be sent between programs at arbitrary timesnot only at program start and exit beyond this setthere are other tools in the python library for performing inter-process communication (ipcthis includes socketsshared memorysignalsanonymous and named pipesand more some vary in portabilityand all vary in complexity and utility for instancesignals allow programs to send simple notification events to other programs anonymous pipes allow threads and related processes that share file descriptors to pass databut generally rely on the unix-like forking model for processeswhich is not universally portable named pipes are mapped to the system' filesystem--they allow completely unrelated programs to conversebut are not available in python on all platforms sockets map to system-wide port numbers--they similarly let us transfer data between arbitrary programs running on the same computerbut also between programs located on remote networked machinesand offer more portable option while some of these can be used as communication devices by threadstootheir full power becomes more evident when leveraged by separate processes which do not share memory at large in this sectionwe explore directly managed pipes (both anonymous and named)as well as signals we also take first look at sockets herebut largely as previewsockets can be used for ipc on single machinebut because the larger socket story also involves their role in networkingwe'll save most of their details until the internet part of this book other ipc tools are available to python programmers ( shared memory as provided by the mmap modulebut are not covered here for lack of spacesearch the python interprocess communication