首页 > 编程语言 > 详细

如何通过Java启动linux脚本

时间:2019-03-07 16:29:50      阅读:124      评论:0      收藏:0      [点我收藏+]

linux脚本为:

echo nihao,wo ai $1 and $2

Java代码为:

public class JavaExecuShell {
    public static void main(String[] args) {
        try {
            //准备脚本
            String cmd = "sh /root/test/test.sh "+args[0]+" "+args[1]; 
            System.out.println("cmd = "+ cmd);
            Process proc = Runtime.getRuntime().exec(cmd);
            /**
             * 可执行程序的输出可能会比较多,而运行窗口的输出缓冲区有限,会造成waitFor一直阻塞。
             * 解决的办法是,利用Java提供的Process类提供的getInputStream,getErrorStream方法
             * 让Java虚拟机截获被调用程序的标准输出、错误输出,在waitfor()命令之前读掉输出缓冲区中的内容。
             */
            String flag ;
            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
            while ( (flag=bufferedReader.readLine()) != null){
                System.out.println("result ---- "+flag);
            }
            bufferedReader.close();
            /**
             * 等待脚本执行完成
             */
            proc.waitFor();
            
        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }
}

 

如何通过Java启动linux脚本

原文:https://www.cnblogs.com/kpsmile/p/10490339.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!