使用 Java 终止进程

2024-01-29

我想知道如何“杀死”已经启动的进程。我知道 Process API,但我不确定,是否可以使用它来“杀死”已经运行的进程,例如 firefox.exe 等。如果可以使用 Process API,您能指出我吗?正确的方向?如果没有,还有哪些其他可用选项?谢谢。


如果您在 Java 应用程序中从 with 启动该过程(例如,通过调用Runtime.exec() or ProcessBuilder.start())那么你就有了一个有效的Process引用它,您可以调用destroy()中的方法Process类来终止该特定进程。

但请注意,如果您调用的进程创建了新的子进程,这些子进程可能不会被终止(请参阅https://bugs.openjdk.org/browse/JDK-4770092 https://bugs.openjdk.org/browse/JDK-4770092).

另一方面,如果您想终止外部进程(不是从 Java 应用程序生成的),那么您可以做的一件事是调用允许您执行此操作的 O/S 实用程序。例如,您可以尝试Runtime.exec() on kill在Unix / Linux下运行命令并检查返回值以确保应用程序是否被杀死(0表示成功,-1表示错误)。但这当然会使您的应用程序平台依赖。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Java 终止进程 的相关文章

随机推荐

  • 尝试使引导模式更广泛

    我正在使用这段代码 但模态太薄 div class modal fade bs example modal lg custom modal div class modal dialog modal lg div class modal co
  • 使用魔法位板生成滑动移动

    这是一个关于如何使用魔法位板验证国际象棋中的滑动棋子移动的大局的问题 只是为了澄清 我不是在问how魔法位板在内部工作 现在 关于这个问题的更多细节 我正在使用位板编写棋盘表示 并且我想使用魔术位板验证滑动棋子的移动 有人可以列出如何实现这
  • Elasticsearch - 我需要 JDBC 驱动程序吗?

    Aim 将我的 Elasticsearch 服务器与 SQL 数据库中的新数据和过期数据同步 Issue 我可以通过两种截然不同的方法来实现这一目标 但我不知道哪种方法更好 我也可以pull使用 JDBC River 插件直接连接到 SQL
  • 如何使用 ctypes 读取多字节值

    我想使用 ctypes 结构和联合从字节对象中读取两个连续的 24 位值 这将是 6 个字节 不幸的是 ctypes 读取每个值 32 位 还 sizeof报告结构比预期大 Using pack 1没有带来预期的结果 具有最小结构和二进制示
  • Android GPS 查询位置数据不正确

    我没有为此使用模拟位置 事实上 代码上周运行良好 我有一个应用程序 它收集 GPS 数据并使用应用程序本身生成的 X Y 坐标输出谷歌地图链接 我不是 100 确定为什么它没有按应有的方式工作 但是当我请求应用程序根据手机提供的 GPS 位
  • 有没有办法让 CGAL 的折线简化适用于内部/共享边界?

    我一直在尝试借助此方法对属于地图的多边形进行线条简化CGAL指南 https doc cgal org latest Polyline simplification 2 index html 例如韩国 这是一个韩国截图 https i st
  • Ruby on Rails:从另一个模型调用实例方法

    我有一个比赛模型和一个团队模型 我想在保存比赛后运行一个实例方法 在团队模型内编写 这就是我所拥有的 team rb def goals sum unless goal count cache goal count a goals sum
  • 如何检查系统音频是否静音?

    I found 这个答案 https stackoverflow com a 40545562 15498建议使用 核心音频 dll API https www dllme com dll files coreaudioapi dll ht
  • GWT:如何使用 UIBinder 在 Anchor 中嵌入小部件

    我想在 UIBinder 中使用以下内容 以便我可以以编程方式设置href我的代码中的链接
  • Visual Studio C++ 中的 msmpi.dll 错误消息

    我正在研究 mpi 但我一直收到此错误消息 程序无法启动 因为您的计算机缺少 msmpi dll 尝试 重新安装程序以解决此问题 所以我的问题是 卸载Visual Studio并重新安装可以解决这个问题吗 或者我应该使用电脑修复工具包程序和
  • 从表单应用程序 c# 启动停止服务

    如何从 C 表单应用程序启动和停止 Windows 服务 添加参考System ServiceProcess dll 然后您可以使用服务控制器 http msdn microsoft com en us library yb9w7ytd c
  • 如何避免在 Apollo Server V2 的错误响应中将错误集合包装在错误对象中

    我们正在将 Apollo Graphql Server v1 项目迁移到 v2 我们注意到错误响应格式发生了变化 在 v2 中 响应中的错误列表包含在错误对象中 但是 在 v1 中 情况并非如此 我们希望有一个一致的标准 并且不在 v2 中
  • 什么是 Array.map(Function.call,Number)

    var array1 1 4 9 16 map1 array1 map Function call Number 为什么map1的输出是 0 1 2 3 这个map函数是做什么的 Array prototype map https deve
  • Android 周期性 JobService 永远不会启动

    我有一个 JobService 我想定期启动它 目前 为了进行测试 我正在使用一个简单的 public class SenderService extends JobService Override public boolean onSta
  • 使用 C# 和 BizTalk 将 Excel (xlsx) 转换为 XML

    我已经查看了该论坛上有关类似问题的大多数主题 但尚未找到我正在寻找的内容 我正在尝试编写一个管道组件BizTalk 2013 R2使用 C 简单地转换传入的Excel 2010 xlsx文件到它的裸 基本 XML 表示形式 我不想针对它运行
  • 警告:mysql_num_rows() 期望参数 1 是给定的资源、对象[重复]

    这个问题在这里已经有答案了 q SELECT FROM tbl quevote WHERE que id qid and voteby uid result mysqli gt query q or die mysqli error mys
  • asp.net 下拉列表和视图状态

    我有一个下拉列表 可以触发自动回发并触发 SelectedIndexChanged 更改事件 我已将 viewstate 设置为 true 但由于某种原因 所选值在回发之间不会保留 我已经使用了下拉列表数百次 但似乎无法弄清楚为什么会发生这
  • Angular2 - 如何将字符串枚举与 *ngIf 一起使用

    我该如何通过enum当我使用时到一个函数 ngIf在角度 我有以下代码 export enum RoleType User User Admin Admin 组件功能 public hasAccess role RoleType check
  • 负面清单索引? [复制]

    这个问题在这里已经有答案了 我试图理解下面的代码 node list n for i in xrange 1 numnodes 1 tmp session newobject n append tmp link n 0 n 1 具体来说 我
  • 使用 Java 终止进程

    我想知道如何 杀死 已经启动的进程 我知道 Process API 但我不确定 是否可以使用它来 杀死 已经运行的进程 例如 firefox exe 等 如果可以使用 Process API 您能指出我吗 正确的方向 如果没有 还有哪些其他