美文网首页
命令执行之RunTime.getRuntime().exec()

命令执行之RunTime.getRuntime().exec()

作者: TsengYUen | 来源:发表于2019-05-09 16:24 被阅读0次

    在java中,RunTime.getRuntime().exec()实现了调用服务器命令脚本来执行功能需要。

    用法:         

    public Process exec(String command)-----在单独的进程中执行指定的字符串命令。

    public Process exec(String [] cmdArray)---在单独的进程中执行指定命令和变量

    public Process exec(String command, String [] envp)----在指定环境的独立进程中执行指定命令和变量

    public Process exec(String [] cmdArray, String [] envp)----在指定环境的独立进程中执行指定的命令和变量

    public Process exec(String command,String[] envp,File dir)----在有指定环境和工作目录的独立进程中执行指定的字符串命令

    public Process exec(String[] cmdarray,String[] envp,File dir)----在指定环境和工作目录的独立进程中执行指定的命令和变量

    举例:

    1.  RunTime.getRuntime().exec(String  command);

                在windows下相当于直接调用   /开始/搜索程序和文件  的指令,比如

                Runtime.getRuntime().exec("notepad.exe");  -------打开windows下记事本。

    2.  public Process exec(String [] cmdArray);

                 Linux下:

                 Runtime.getRuntime().exec(new String[]{"/bin/sh","-c", ";

                 Windows下:

                 Runtime.getRuntime().exec(new String[]{ "cmd", "/c", cmds});

    实例:

    String command = "find " + source.getRoute() + " -name '" +source.getName();   

    Process process = Runtime.getRuntime().exec(new String[] {"/bin/sh","-c",command});

    补充:#!/bin/bash和#!/bin/sh的区别

    #! 是个指示路径的表示符,/bin/bash和/bin/sh指定了脚本解析器的程序路径

    bash是sh的完整版,bash完全兼容sh命令,反之不行

    OPTIONS:

         -c string      该选项表明string中包含了一条命令.如 bash -c ls ~

      -i       使Bash以交互式方式运行

      -r       使Bash以受限方式运行

      --login       使Bash以登录Shell方式运行

      --posix      使Bash遵循POSIX标准

      --verbose    使Bash显示所有其读入的输入行

      --help     打印Bash的使用信息

      --version     打印版本信息

    相关文章

      网友评论

          本文标题:命令执行之RunTime.getRuntime().exec()

          本文链接:https://www.haomeiwen.com/subject/haawoqtx.html