public static void main(String[] args) { Runtime rt = Runtime.getRuntime(); List<ExecCmd> comandos = new ArrayList<>(); Scanner scanner = new Scanner(System.in); String cmd; while (true) { System.out.print("comando> "); cmd = scanner.next(); if (!cmd.toLowerCase().equals("fim")) { comandos.add(new ExecCmd(cmd)); comandos.get(comandos.size() - 1).start(); } else { int soma = 0; char resposta; for (ExecCmd c : comandos) soma += c.terminado() ? 0 : 1; System.out.print("Há " + soma + " processos em execução. Deseja terminá-los? <y/n>"); do resposta = scanner.next().charAt(0); while (resposta != 'y' && resposta != 'n'); if (resposta == 'y') { for (ExecCmd c : comandos) c.cancela(); break; } } } }
public static void main(String[] args) { Scanner in = new Scanner(System.in); String comando; List<ExecCmd> execCmd = new ArrayList<>(); int i = 0; while (true) { System.out.println("comando>"); comando = in.nextLine(); if (comando.equals("fim")) { for (ExecCmd e : execCmd) { if (!e.terminado()) { i++; } } if (i > 0) { System.out.println("Há " + i + " processos em execução. Deseja terminá-los? (s/n)"); if (in.next().equals("s")) { for (ExecCmd c : execCmd) { if (!c.terminado()) { c.cancela(); } } break; } } if (i == 0) { break; } } else { ExecCmd exe = new ExecCmd(comando); execCmd.add(exe); exe.start(); } i = 0; } }