请告诉我如何从java程序中检索autosys
命令的状态。
我们可以使用Runtime.getRuntime().exec(command)
执行命令但是如何获得autosys
状态。
答案 0 :(得分:0)
Process
有一个方法exitValue()
来获取子进程的退出值。 exitValue
示例:
Runtime rt = Runtime.getRuntime();
Process process = rt.exec("ls -al");
process.waitFor();
System.out.println(process.exitValue());
答案 1 :(得分:0)
我不确定autosys
是否赞扬,但如果您可以使用Runtime
执行,那么您需要查看命令执行的输出。如果autosys在执行时会返回一些内容,那么如果出现错误,您将在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");
}