`
QING____
  • 浏览: 2253323 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA执行Shell命令

    博客分类:
  • JAVA
 
阅读更多

    基于JAVA执行shell指令,通常的代码范例为:

Process process = Runtime.getRuntime().exec("jps -v");
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while (true) {
    String line = reader.readLine();
    if(line == null) {
        break;
    }
    System.out.println(line);
}
process.destroy();
reader.close();

 

    这么执行并没有太大的问题,但是如果希望它执行“多个指令”,上述方式总是获取不到信息,无信息输出,比如执行“jps -v | grep AppMain | awk ${print $2}”。

    徘徊了很久,后来通过使用:

process.getErrorStream();

 

    发现打印出来一些信息,提示的内容大概是指令的参数集不合法。归因于我们使用的方式不对,因为runtime.exec()方法不能执行多个指令。所以我们需要换一种比较标准的方式:

String[] command = {"ssh","127.0.0.1","ps","-ef","|","grep","java"};
ProcessBuilder pb = new ProcessBuilder();
pb.command(command);
//very important,if error,message will output too.
pb.redirectErrorStream(true);
Process process = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
while (true) {
    String line = reader.readLine();
    if(line == null) {
        break;
    }
    System.out.println(line);
}
process.destroy();
reader.close();

 

分享到:
评论

相关推荐

    java调用shell(包含有参数的调用)

    在Java中,我们可以使用`Runtime.getRuntime().exec()`方法来执行Shell命令。如果需要传递参数给Shell脚本,可以在执行的命令字符串中加入相应的参数。例如,`exec("sh xx.sh arg1 arg2")`语句中的`arg1`和`arg2`...

    JAVA执行shell命令小工具

    标题中的“JAVA执行shell命令小工具”指的是使用Java编程语言编写的小程序,它能够执行操作系统级别的Shell命令。在Java中,通常使用`Runtime.getRuntime().exec()`或者`ProcessBuilder`类来实现这一功能。这两个类...

    java调用shell命令.pdf

    在 Java 中调用 Shell 命令是非常常见的操作,特别是在需要执行系统命令或脚本时。在这个例子中,我们将看到如何使用 Java 调用 Shell 命令,并介绍相关的知识点。 Java 调用 Shell 命令的必要性 在实际开发中,...

    java调用shell脚本

    - 这个方法可以直接执行shell命令,如`"sh -c your_shell_script.sh"`。需要注意的是,这种方式可能会遇到命令行参数和环境变量的问题,因为它们没有被正确封装到新的进程中。 ```java Process process = Runtime...

    Java 调用 Shell 命令

    2. **调用Shell脚本**:通过Java的`Runtime.getRuntime().exec()`方法来执行Shell命令或脚本。 下面是一个具体的Java类实现示例,用于调用Shell脚本并记录执行日志: ```java import java.io.*; import java.text....

    java调用shell脚本执行sqlldr与存储过程

    因为我在linux环境下执行shell脚本时sqlldr命令和sqlplus命令是正常执行的,没有任何问题,但是在java代码中调用脚本时却报错,所有排除了其他原因,只可能是环境变量的问题, 于是我把oracle的所有环境变量直接复制...

    Java调用Shell脚本代码

    在Java程序中调用Unix/Linux主机上的Shell命令,并返回相应执行结果。

    java运行shell脚本方法示例

    本文将详细讲解如何在Java中使用`Runtime.execute`方法运行Shell脚本,并提供一个示例。 `Runtime.getRuntime().exec()`方法允许我们在Java程序中执行外部命令或脚本。这个方法有多种重载形式,但基本用法是传入一...

    shell,bat脚本运行java程序

    总的来说,shell和bat脚本提供了一种方便的方式来管理和运行Java程序,特别是对于需要定时执行或在后台运行的任务,它们能极大地简化操作流程。通过熟练掌握这两种脚本,你可以更高效地管理Java应用的生命周期。

    java连接linux,执行shell命令的工具类 sshxcute.jar

    在Java开发中,有时我们需要远程连接到Linux服务器执行shell命令,比如进行系统管理、自动化运维或者数据处理等任务。在这种情况下,使用SSH(Secure Shell)协议是常见的解决方案,因为它提供了安全的网络通信。...

    IDEA中编写并运行shell脚本的实现

    在新的IDEA版本中,需要修改脚本的执行命令,修改后的脚本执行命令如下图所示。 七、新版本bashsupport插件 新版本bashsupport插件已经不再更新,可能会和之后的新版本不兼容。但是,新出了bash support pro,但是...

    Android中级篇之用JAVA代码执行shell命令.rar_Android 执行shell_android_effectoh

    二、Java执行Shell命令的方法 1. `Runtime.getRuntime().exec()`: 这是最常用的方法,通过Runtime类的`exec()`方法可以执行shell命令。例如: ```java Process process = Runtime.getRuntime().exec("ls /sdcard")...

    shell脚本启动Java程序测试工程

    在IT行业中,shell脚本是Linux或Unix操作系统中的一种强大工具,用于自动化任务执行和系统管理。当涉及到启动Java应用程序时,shell脚本可以提供一个方便、可重复且灵活的方法。下面我们将深入探讨如何使用shell脚本...

    Java代码执行shell命令的实现

    "Java代码执行shell命令的实现" Java代码执行shell命令的实现是指在Java程序中调用操作系统的shell命令,实现与操作系统交互的功能。下面将详细介绍Java代码执行shell命令的实现方法。 环境准备 在执行shell命令...

    java调用Shell脚本.doc

    确保执行的用户拥有足够的权限来运行Shell脚本。 - 如果在执行过程中出现权限错误,请检查脚本的权限设置是否正确,或者尝试以其他用户身份运行Java程序。 3. **输入输出流处理**: - 使用`LineNumberReader`可以...

    Shell脚本中获取进程ID的方法

    作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。 在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的情况下使用。比如,你可以使用shell...

    java 执行cmd命令及mongodb脚本

    Java执行CMD命令及MongoDB脚本是开发过程中常见的任务,特别是在集成系统或者自动化运维场景下。下面将详细讲解这两个主题。 一、Java执行CMD命令 在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作...

    Java调用shell脚本

    在IT行业中,Java是一种广泛应用的编程语言,而Shell脚本则是Linux或Unix系统中的命令行脚本,用于自动化执行一系列任务。将Java与Shell脚本结合使用,可以在Java应用程序中执行系统级操作或者调用复杂的命令行流程...

    android系统中调用shell脚本

    因此,要在Android上运行shell脚本,我们通常需要通过Java代码来间接实现。 1. **使用Runtime类**:这是最基础的方法,通过`Runtime.getRuntime().exec()`方法执行shell命令。例如: ```java Process process = ...

Global site tag (gtag.js) - Google Analytics