@Override
	public void run() {

		try {
			interpreter.execFile(script.getSourceFile(), script);
		}
		catch (PyException pye) {
			if (PyException.exceptionClassName(pye.type).equalsIgnoreCase(
				"exceptions.SystemExit")) {
				interpreter.printErr("SystemExit");
			}
			else {
				pye.printStackTrace(); // this prints to the interpreter error stream.
			}
		}
		catch (StackOverflowError soe) {
			interpreter.printErr("Stack overflow!");
		}
		catch (IllegalStateException e) {
			interpreter.printErr(e.getMessage());
		}
		finally {
			interpreterRunning.set(false);
		}
	}
Creates a new jython script execution thread that executes the given jython script.

@param script The jython script to execute.
@param interpreter The jython interpreter to use for execution.
@param interpreterRunning Gets set to indicate whether or not the interpreter is still running the script.
Ghidra/Features/Jython/src/main/java/ghidra/jython/JythonScriptExecutionThread.java