Java 用于检索 autosys 状态的程序

Java program for retrieving autosys status

请告诉我如何从 java 程序中检索 autosys 命令的状态。 我们可以使用 Runtime.getRuntime().exec(command) 执行命令,但如何获得 autosys 状态。

Process 有一个方法 exitValue() 来获取子进程的退出值。 exitValue

示例:

Runtime rt = Runtime.getRuntime();
Process process = rt.exec("ls -al");
process.waitFor();
System.out.println(process.exitValue());

我不确定 autosys 推荐,但如果您可以使用 Runtime 执行,那么您需要查看命令执行的输出。如果 autosys 在执行时会 return 一些东西,你会在 InputStream 中得到它,或者在 ErrorStream 中出错,以防出错。

尝试这样的事情:

public static void printStream(InputStream is, String type){
try
   {
      InputStreamReader isr = new InputStreamReader(is);
      BufferedReader br = new BufferedReader(isr);
      String line=null;
      while ( (line = br.readLine()) != null)
            System.out.println(type + ">" + line);    
   } catch (IOException ioe){
           ioe.printStackTrace();  
   }
}

public static void main(String args[])
{
    String cmd = "command to execute";
    Process proc = Runtime.getRuntime().exec(cmd);
    printStream(proc.getInputStream(), "OUTPUT");
    printStream(proc.getErrorStream(), "ERROR");
}