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");
}
请告诉我如何从 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");
}