Runtime.getRuntime().exec(),执行Java类

2024-05-06

我正在从我的应用程序内部执行 Java 类。

proc = Runtime.getRuntime().exec("java Test");

我怎样才能识别是否Test执行成功与否(即没有例外)?


重定向输出/错误:

proc = Runtime.getRuntime().exec(new String[] {
    "java",
    mclass,
    ">NUL 2>test.txt"
});

From cmd:

java Main >NUL 2>test.txt

process.waitFor();
int exitCode = process.exitValue();
if(exitCode == 0) { // success }
else { // failed }

这有效,如果Test设计正确并返回适当的退出代码(通常,如果出现问题,则返回 >0)。

如果你想得到Tests 输出/错误消息来确定出了什么问题,你应该得到proc.getInputStream()(这返回子进程的输出流),proc.getErrorStream()并在单独的线程中从输入流中读取。

请注意,如果子进程写入错误/输出流并且没有读取器,则子进程将被阻止。因此,读取进程的错误/输出流在任何情况下都是有用的。

避免子阻塞的另一个选择是将其错误/输出重定向到文件和/或/dev/null(对于 Windows 为“NUL”):

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

Runtime.getRuntime().exec(),执行Java类 的相关文章

随机推荐

  • thread_local成员变量构造

    我遇到了 thread local 的一些奇怪行为 不确定我是否做错了什么或者这是一个 GCC 错误 我有以下最小重现场景 include
  • Redux Spread 运算符与 Map

    我有一个数组中的对象状态 在我的 ReduxReducer 中 const initialState items id 1 dish General Chicken price 12 1 quantity 0 id 2 dish Chick
  • 查找当前视图的twig文件

    当我想修改当前视图中的某些内容时 我必须查看操作和控制器 DefaultController indexAction例如 转到操作函数 indexAction 并查看该操作正在渲染什么文件 有没有更快的方法来找出哪个文件 xxxx html
  • 使用资源文件进行本地化不起作用

    我添加了新的 Rosource 文件 UserNotification resx 然后我添加了两个文件进行本地化 并将其命名为 UserNotification hr HR resx 和 UserNotification sl SI res
  • 如何通过 JQuery Post 传递 Javascript 数组,以便可以通过 PHP $_POST 数组访问其所有内容?

    如何通过 JQuery Post 传递 Javascript 数组 以便可以通过 PHP POST 数组访问其所有内容 请展示一个可以实现此目的的代码示例 Thanks 如果你想传递一个 JavaScript 对象 哈希 即 PHP 中的关
  • 如何执行带有参数的命令?

    如何在 Java 中执行带有参数的命令 我试过了 Process p Runtime getRuntime exec new String php var www script php m 2 这是行不通的 String options n
  • CSS 模块:如何禁用文件的本地范围?

    我在一个新的 React 项目中使用 CSS 模块 通过 Webpack css 加载器 尽管它工作得很好 但我在获取 SCSS 时遇到了困难反应选择 https github com JedWatson react select上班 我想
  • 除了 iptables 之外还有数据包管理实用程序吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 Linux 实用程序 它可以根据一组规则更改网络数据包的有效负载 理想情况下 我会使用
  • 如何在fragment onCreateView中自定义android标题栏

    我正在尝试通过典型方法更改标题栏的视图 Override public View onCreateView LayoutInflater inflater ViewGroup group Bundle args Window window
  • emberjs 对一条路线使用多个路径/url

    在 Ember 中我可以使用这个 App Router map function this route accomodations 因此 如果访问 accomodations 它将加载该视图 我还可以补充 App Router map fu
  • 使用 javascript 在字符串中查找电子邮件地址

    我想做的是从字符串中提取电子邮件地址SomeName First email protected cdn cgi l email protection 这是我已经尝试过的代码 var stringToSearchIn SomeName Fi
  • 执行按钮单击时使 wpf UI 响应

    在我的 wpf c 应用程序中 当用户按下按钮时会执行一个很长的过程 当按下按钮直到执行完整的代码时 窗口将冻结 用户无法在窗口中执行任何其他任务 如何使按钮单击代码作为后台进程 以便窗口响应用户 我尝试过以下方法 但没有成功 privat
  • 如何默认清空除国家/地区以外的所有 WooCommerce 结帐字段?

    在我的 WooCommerce 结帐页面上 我希望除帐单国家 地区之外的帐单字段为空白 我用它来确保结账表格在填写时是空白的 add filter woocommerce checkout get value return empty st
  • Flex 字典字面量

    在 Flex 中工作 我需要用相当复杂的结构填充字典 基于本文档页面 http livedocs adobe com flex 3 html help html content 10 Lists of data 4 html我尝试通过以下语
  • RequestDispatcher.forward 到媒体文件?

    我最近有一个需要解决的问题 https stackoverflow com questions 19385223 how to transparently stream a file to the browser并找到了一个解决方案 但如果
  • setShadowLayer Android API 差异

    我为我的应用程序开发了一个自定义视图组件 并且正在努力向圆圈添加阴影 这是我的类扩展 View 的代码 public class ChartView extends View public ChartView Context context
  • 第一个字母改为大写

    是否有其他版本可以使每个字符串的第一个字母大写 并且对于 flac perl 也使用 FALSE name lt hallo gsub alpha U 1 name perl TRUE 你可以尝试这样的事情 name lt hallo pa
  • 封闭实例的匿名类

    我正在阅读 Joshua Bloch 的 Effective Java 第二版 目前我在第 22 项 它描述了内部类和嵌套类 但我无法理解他这句话的意思 匿名类具有封闭实例当且仅当它们发生时 在非静态上下文中 有人能给我一个代码示例并解释它
  • UINavigationController:iPad 上正在呈现视图控制器,同时关闭另一个控制器

    我有一个需要用户登录的视图 当用户尝试打开该视图但他尚未登录时 我将调用登录视图供他登录 完成后我将调用他想要的原始视图查看 在 iPhone 上 当我将视图控制器推到那里时 这工作得很好 但在我展示视图控制器的 iPad 上 这不起作用
  • Runtime.getRuntime().exec(),执行Java类

    我正在从我的应用程序内部执行 Java 类 proc Runtime getRuntime exec java Test 我怎样才能识别是否Test执行成功与否 即没有例外 重定向输出 错误 proc Runtime getRuntime