【问题标题】:How to destroy all Processes from a Runtime at once?如何一次从运行时销毁所有进程?
【发布时间】:2013-07-01 16:16:39
【问题描述】:

例如:

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

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

然后p1.destroy(); 将销毁Process p1

我的问题是:如果我有多个Process(例如p1p2p3),我如何一次将它们全部销毁,而不是必须一一销毁?

【问题讨论】:

  • 也可以考虑ProcessBuilder
  • 拔掉是解决办法。
  • @RomanC 你说的“拔掉插头”是什么意思?
  • 一次杀死所有进程,这是个好主意。
  • @RomanC 你知道怎么做吗?

标签: java process runtime.exec destroy


【解决方案1】:

保留所有进程的List<Process> 并循环销毁它们。

List<Process> processes = ...

for(Process p : processes) {
    p.destroy();
}

【讨论】:

  • 如果我将所有进程都放在一个名为Processes() 的方法中,我可以创建另一个方法destroyProcesses() 并将循环放在那里吗?另外,我将如何引用来自destroyProcesses() 的进程?
  • @user2506658 您需要保留对所有进程的List&lt;Process&gt; 的引用。然后,您可以通过destroyProcesses 等方法访问该列表,并在那里完成工作。您可能对一些基本的Java tutorials 感兴趣以帮助您。
  • 另外,我以前从未使用过列表,也找不到如何操作。你能告诉我如何将List&lt;Process&gt; processes = ... 用于p1p2p3 吗?
  • @user2506658 这是Collections 教程。它将向您展示如何使用List
  • 另一件事,我之前也没有真正使用过数组......你能给我一个基本的例子吗?
猜你喜欢
  • 1970-01-01
  • 2012-08-23
  • 2019-05-02
  • 1970-01-01
  • 2021-04-04
  • 2020-05-28
  • 1970-01-01
  • 2014-09-18
相关资源
最近更新 更多