我如何使用数组来存储在运行时启动的进程,然后在for循环中对它们进行质量破坏()?

时间:2013-07-03 22:12:53

标签: java for-loop arraylist runtime destroy

例如:

Runtime rt = Runtime.getRuntime();创建Runtime rt

Process p1 = rt.exec("C:/Windows/System32/calc.exe");Process p1上创建Runtime rt

然后p1.destroy();会破坏Process p1

我的问题是:如果我有多个Process(例如p1p2p3),我该怎样destroy()他们所有人马上,而不是一个一个地摧毁它们?

对于列表,我如何在代码中实现列表?我还没有使用过列表和数组,虽然我已经尝试过学习如何使用它们,但我想这是用例子教学的事情之一就更容易了......

如果您能帮助我,我很乐意提供一个PasteBin链接来展示我想要做的事情。

另外,我已经提到了for-loopdestroy()这些流程,但我如何使用Process进行处理?

有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

您可以这样做:

Runtime rt = Runtime.getRuntime();
List<Process> processes = new ArrayList<Process>();
for (int i = 0; i < nProcesses; ++i) {
    Process p = rt.exec(. . .);
    processes.add(p);
}
// then later...
for (Process p : processes) {
    p.destroy();
}

最后一个循环称为enhanced for loop。它或多或少等同于:

for (int i = 0; i < processes.size(); ++i) {
    Process p = processes.get(i);
    p.destroy();
}