Wie kann man runtime.exec töten?

Ich verwende den folgenden Code in meinem jframe, um ein Shell-Skript über ein Java-Programm auszuführen, aber wenn ich eine andere Methode implementiere, um den Ausführungsprozess zu stoppen, wird diese Methode von th zuerst blockiert und ich kann mein Programm nicht stoppen. Also muss ich den neuen Prozess beenden, das Problem ist, wie man die PID des Prozesses erhält und wie man ihn in den Hintergrund stellt, um ihn zu beenden.

public static void execShellCmd(String cmd) {
    try {

        testPath = getPath();

        System.out.println(cmd);
        Runtime runtime = Runtime.getRuntime();
        process = runtime.exec(new String[] { "sh",
                testPath + "/install.sh", cmd, "&" });
        int exitValue = process.waitFor();
        value = exitValue;
        System.out.println("exit value: " + exitValue);
        BufferedReader buf = new BufferedReader(new InputStreamReader(
                process.getInputStream()));
        String line = "";
        BufferedWriter bufferedWriter = null;
        while ((line = buf.readLine()) != null) {
            System.out.println("exec response: " + line);
            log = line;
            writeToFile(line);
        }
    } catch (Exception e) {
        System.out.println(e);
    }
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage