This should be fixable using `popen.communicate` with a timeout? Or maybe create a Qt/C++ API to run a program..