当前位置: 首页 > 编程笔记 >

java执行Linux命令的方法

窦华晖
2023-03-14
本文向大家介绍java执行Linux命令的方法,包括了java执行Linux命令的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了java执行Linux命令的方法。分享给大家供大家参考。具体实现方法如下:


public class StreamGobbler extends Thread {  

      

    InputStream is;  

    String type;  

  

    public StreamGobbler(InputStream is, String type) {  

        this.is = is;  

        this.type = type;  

    }  

  

    public void run() {  

        try {  

            InputStreamReader isr = new InputStreamReader(is);  

            BufferedReader br = new BufferedReader(isr);  

            String line = null;  

            while ((line = br.readLine()) != null) {  

                if (type.equals("Error")) {  

                    System.out.println("Error   :" + line);  

                } else {  

                    System.out.println("Debug:" + line);  

                }  

            }  

        } catch (IOException ioe) {  

            ioe.printStackTrace();  

        }  

    }  

}  

private void shell(String cmd)

{

        String[] cmds = { "/bin/sh", "-c", cmd };

        Process process;

        try         {             process = Runtime.getRuntime().exec(cmds);

            StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "Error");             StreamGobbler outputGobbler = new StreamGobbler(process.getInputStream(), "Output");             errorGobbler.start();             outputGobbler.start();             try             {                 process.waitFor();             }             catch (InterruptedException e)             {                 e.printStackTrace();             }         }         catch (IOException e)         {             e.printStackTrace();         } }

其中参数 cmd 为Linux命令。每次只能执行一条命令。

1.Java Runtime.exec()注意事项:

① 永远要在调用waitFor()方法之前读取数据流
② 永远要先从标准错误流中读取,然后再读取标准输出流

2.最好的执行系统命令的方法就是写个bat文件或是shell脚本。

希望本文所述对大家的Java程序设计有所帮助。

 类似资料:
  • 本文向大家介绍Erlang中执行linux命令的两种方法,包括了Erlang中执行linux命令的两种方法的使用技巧和注意事项,需要的朋友参考一下 os.cmd(Cmd) os模块提供了cmd函数可以执行linux系统shell命令(也可以执行windows命令)。返回一个Cmd命令的标准输出字符串结果。例如在linux系统中执行os:cmd("date"). 返回linux的时间。 这种比较简单

  • 本文向大家介绍linux下执行shell命令方法简介,包括了linux下执行shell命令方法简介的使用技巧和注意事项,需要的朋友参考一下 linux下执行shell命令有两种方法  在当前shell中执行shell命令 在当前shell中产生一个subshell,在subshell中执行shell命令  1.在当前shell中执行shell命令 主要就是在命令行中通过交互方式方式直接输入shel

  • 问题内容: 如何在远程Linux机器上执行命令/脚本?说我想从框a的框b开始服务tomcat。 问题答案: 我想这是最好的安全方式,例如: 必须根据您的特定需求(例如,仅绑定到ipv4)部署OPTIONS的地方,并且您的远程命令可能正在启动您的tomcat守护程序。 注意 : 如果不想在每次运行ssh时都提示您,也请查看ssh- agent,以及系统允许的情况。关键是…了解ssh密钥交换过程。请仔

  • 问题内容: 我正在尝试从Java执行SOX命令,但不幸的是,它每次都会返回错误。其他所有SOX命令都可以正常运行!!这是代码: 当我在终端中执行相同的sox命令时,它的工作正常。我真的不明白问题是什么!是因为“ |” 符号?? 问题答案: 问题是Runtime.exec()无法理解shell概念,例如“ |”。而是尝试: 问题是exec直接运行二进制文件而不调用shell。“ |” 字符只能被外壳

  • 本文向大家介绍Python执行Linux系统命令的4种方法,包括了Python执行Linux系统命令的4种方法的使用技巧和注意事项,需要的朋友参考一下 (1) os.system 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 如果再命令行下执行,结果直接打印出来 (2) os.popen 该方法不但执行命令还返回执行后的信息对象 例如: 好处在于:将返回的结果赋于一变量,便于程序的

  • 本文向大家介绍PHP在linux上执行外部命令的方法,包括了PHP在linux上执行外部命令的方法的使用技巧和注意事项,需要的朋友参考一下 目录: 一、PHP中调用外部命令介绍 二、关于安全问题 三、关于超时问题 四、关于PHP运行linux环境中命令出现的问题 一、PHP中调用外部命令介绍 在PHP中调用外部命令,可以用,1>调用专门函数、2>反引号、3>popen()函数打开进程,三种方法来实