运行 autosys 批处理作业并在 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 ();

        }


鸿蒙传说
浏览 167回答 1
1回答

慕后森

你的 cmd 应该是: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,所以它应该是第一个参数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java