package istlab.KisoJikken; import java.io.File; import java.io.IOException; import javax.swing.JButton; public class ScriptRunner implements Runnable { String scriptfile; Thread thread; Process process; JButton runB; public ScriptRunner(String shfile, JButton rB) { scriptfile = shfile; runB = rB; } public void startstop() { if (thread == null) { thread = new Thread(this); thread.start(); runB.setText("Stop"); } else { process.destroy(); thread = null; runB.setText("Run"); } } @Override public void run() { // Run script System.out.println(scriptfile); ProcessBuilder processBuilder = new ProcessBuilder("bash", scriptfile); // ProcessBuilder processBuilder = new ProcessBuilder("pwd"); processBuilder.directory(new File(App.userhome + App.nwpsrc)); processBuilder.inheritIO(); try { process = processBuilder.start(); // BufferedReader reader = new BufferedReader(new // InputStreamReader(process.getInputStream())); // String line; // while ((line = reader.readLine()) != null) { // jta.append(line); // } process.waitFor(); } catch (IOException | InterruptedException e1) { e1.printStackTrace(); } System.out.println("Exit"); thread = null; runB.setText("Run"); } }