import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class ProcessGetter { //プロセス表示コマンド(Windows) //mainで使うために、やむを得ずのstatic private final static String PS_COMMAND = "tasklist"; //ProcessBuilderにプロセス表示コマンド登録 //mainで使うために、やむを得ずのstatic private final static ProcessBuilder psbuilder = new ProcessBuilder(PS_COMMAND); //mainで使うために、やむを得ずのstatic private final static List list = new ArrayList(); /* * 実行中のプロセスを返す */ public static List getProcess() { try { //コマンド実行 Process p = psbuilder.start(); //コマンドのコンソール表示を受け取る BufferedReader bufreader = new BufferedReader(new InputStreamReader(p.getInputStream())); //ArrayListに突っ込みまくる while (true) { String tasks = bufreader.readLine(); list.add(tasks); //コマンドライン表示終了時にストリームをクローズ int c = p.getInputStream().read(); if (c == -1) { p.getInputStream().close(); break; } } return list; } catch (IOException e) { // TODO 自動生成された catch ブロック e.printStackTrace(); } finally { return list; } } public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ List pslist = getProcess(); for (String str : pslist) { System.out.println(str); } } }