【问题标题】:Get status report from shell script to java code获取从 shell 脚本到 java 代码的状态报告
【发布时间】:2014-06-20 19:16:30
【问题描述】:

谁能告诉我如何从 shell 脚本获取状态报告到 java 代码。 用例:我从 java 代码运行一个 shell 脚本,如果我在 shell 脚本中遇到任何错误(在运行时),那么我需要从 shell 脚本向我的 java 代码发送一些消息。

那么我该如何实现呢。

【问题讨论】:

    标签: java linux shell


    【解决方案1】:

    我确信有更好的方法,但一种简单的方法是让 shell 脚本通过管道将错误输出到一个文件,然后由 Java 应用程序读取。

    【讨论】:

    • :D。好一个……我也这么认为。但这确实是一种糟糕的方法……如果没有找到解决方案,那么我必须遵循这种方式。
    【解决方案2】:

    我假设您正在使用 ProcessBuilder 启动您的 shell 脚本。

    构建流程后,您可以使用getInputStream(),它将为您提供Shell 脚本的输出流,然后只需将流复制到您想去的地方。

    还有一个redirectOutput,但我使用它的经验有限。我假设它做了我上面描述的事情。

    【讨论】:

      【解决方案3】:

      你可以这样使用:

      Process proc = Runtime.getRuntime().exec("ls -la")
      // To get the error code (0=success)
      int outCode = proc.exitValue()
      

      如果您需要从脚本向执行它的应用程序发送内容,您可以在脚本中写入stdErr 并在您的java 程序中使用proc.getErrorStream

      【讨论】:

        猜你喜欢
        • 2012-10-22
        • 1970-01-01
        • 2011-07-12
        • 2018-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-02
        • 2017-11-23
        相关资源
        最近更新 更多