运行 autosys 批处理作业并在 java 中检查其状态
Run autosys batch job and check its status in java
我需要 运行 一个 autosys 批处理作业,然后检查其状态,直到其状态更改为 SU。
我写了下面的代码,但它给了我以下异常:
CreateProcess error=2, The system cannot find the file specified
代码:
try {
String[] cmds = {
"C:\Folder_Path\plink.exe -ssh username@Server -pw Password",
"sendevent -E FORCE_STARTJOB -j job-name"};
Runtime r = Runtime.getRuntime();
Process p = r.exec(cmds);
InputStream std = p.getInputStream ();
OutputStream out = p.getOutputStream ();
InputStream err = p.getErrorStream ();
Thread.sleep (5000);
int value = 0;
String output = "";
if (std.available () > 0) {
System.out.println ("STD:");
value = std.read ();
//System.out.print ((char) value);
while (std.available () > 0) {
value = std.read ();
output+=(char) value;
}
}
if (err.available () > 0) {
System.out.println ("ERR:");
value = err.read ();
//System.out.print ((char) value);
while (err.available () > 0) {
value = err.read ();
output+=(char) value;
}
}
System.out.print (output);
p.destroy ();
}
catch (Exception e) {
e.printStackTrace ();
}
你的命令应该是:
String[] cmds = {"C:\Folder_Path\plink.exe", "-ssh", "username@Server", "-pw", "Password", "sendevent", "-E", "FORCE_STARTJOB", "-j", "job-name"};
第一个参数是可执行文件名。使用您的 cmd,它给出错误,因为它无法找到 "C:\Folder_Path\plink.exe -ssh username@Server -pw Password" .
你的 exe 是 C:\Folder_Path\plink.exe,所以它应该是第一个参数。
我需要 运行 一个 autosys 批处理作业,然后检查其状态,直到其状态更改为 SU。 我写了下面的代码,但它给了我以下异常:
CreateProcess error=2, The system cannot find the file specified
代码:
try {
String[] cmds = {
"C:\Folder_Path\plink.exe -ssh username@Server -pw Password",
"sendevent -E FORCE_STARTJOB -j job-name"};
Runtime r = Runtime.getRuntime();
Process p = r.exec(cmds);
InputStream std = p.getInputStream ();
OutputStream out = p.getOutputStream ();
InputStream err = p.getErrorStream ();
Thread.sleep (5000);
int value = 0;
String output = "";
if (std.available () > 0) {
System.out.println ("STD:");
value = std.read ();
//System.out.print ((char) value);
while (std.available () > 0) {
value = std.read ();
output+=(char) value;
}
}
if (err.available () > 0) {
System.out.println ("ERR:");
value = err.read ();
//System.out.print ((char) value);
while (err.available () > 0) {
value = err.read ();
output+=(char) value;
}
}
System.out.print (output);
p.destroy ();
}
catch (Exception e) {
e.printStackTrace ();
}
你的命令应该是:
String[] cmds = {"C:\Folder_Path\plink.exe", "-ssh", "username@Server", "-pw", "Password", "sendevent", "-E", "FORCE_STARTJOB", "-j", "job-name"};
第一个参数是可执行文件名。使用您的 cmd,它给出错误,因为它无法找到 "C:\Folder_Path\plink.exe -ssh username@Server -pw Password" .
你的 exe 是 C:\Folder_Path\plink.exe,所以它应该是第一个参数。