While I want to continue using the subprocess module, I recently realized that the way in which I utilize and print subprocess' output would leave it vulnerable to memory wipe should a premature termination occur. When we run Turbomole commands from the terminal as users this isn't a problem because most output can be redirected to a file as it becomes available, sans whatever output may be in the process of being written.
Within our current class, this output is saved as a big block of text in the memory, and is not printed or written until explicitly told to do so. It should be obvious, then, that should the class be unable to reach these commands (in the case of a forced timeout by a supercomputer for instance), then this memory would be lost to the abyss, and the latest block of output could not be saved.
I'm currently unsure of a way around how to print output as it becomes available, as well as saving it for analysis and troubleshooting by Turboclass.