基于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中,我们可以使用`Runtime.getRuntime().exec()`方法来执行Shell命令。如果需要传递参数给Shell脚本,可以在执行的命令字符串中加入相应的参数。例如,`exec("sh xx.sh arg1 arg2")`语句中的`arg1`和`arg2`...
标题中的“JAVA执行shell命令小工具”指的是使用Java编程语言编写的小程序,它能够执行操作系统级别的Shell命令。在Java中,通常使用`Runtime.getRuntime().exec()`或者`ProcessBuilder`类来实现这一功能。这两个类...
在 Java 中调用 Shell 命令是非常常见的操作,特别是在需要执行系统命令或脚本时。在这个例子中,我们将看到如何使用 Java 调用 Shell 命令,并介绍相关的知识点。 Java 调用 Shell 命令的必要性 在实际开发中,...
- 这个方法可以直接执行shell命令,如`"sh -c your_shell_script.sh"`。需要注意的是,这种方式可能会遇到命令行参数和环境变量的问题,因为它们没有被正确封装到新的进程中。 ```java Process process = Runtime...
2. **调用Shell脚本**:通过Java的`Runtime.getRuntime().exec()`方法来执行Shell命令或脚本。 下面是一个具体的Java类实现示例,用于调用Shell脚本并记录执行日志: ```java import java.io.*; import java.text....
因为我在linux环境下执行shell脚本时sqlldr命令和sqlplus命令是正常执行的,没有任何问题,但是在java代码中调用脚本时却报错,所有排除了其他原因,只可能是环境变量的问题, 于是我把oracle的所有环境变量直接复制...
在Java程序中调用Unix/Linux主机上的Shell命令,并返回相应执行结果。
本文将详细讲解如何在Java中使用`Runtime.execute`方法运行Shell脚本,并提供一个示例。 `Runtime.getRuntime().exec()`方法允许我们在Java程序中执行外部命令或脚本。这个方法有多种重载形式,但基本用法是传入一...
总的来说,shell和bat脚本提供了一种方便的方式来管理和运行Java程序,特别是对于需要定时执行或在后台运行的任务,它们能极大地简化操作流程。通过熟练掌握这两种脚本,你可以更高效地管理Java应用的生命周期。
在Java开发中,有时我们需要远程连接到Linux服务器执行shell命令,比如进行系统管理、自动化运维或者数据处理等任务。在这种情况下,使用SSH(Secure Shell)协议是常见的解决方案,因为它提供了安全的网络通信。...
在新的IDEA版本中,需要修改脚本的执行命令,修改后的脚本执行命令如下图所示。 七、新版本bashsupport插件 新版本bashsupport插件已经不再更新,可能会和之后的新版本不兼容。但是,新出了bash support pro,但是...
二、Java执行Shell命令的方法 1. `Runtime.getRuntime().exec()`: 这是最常用的方法,通过Runtime类的`exec()`方法可以执行shell命令。例如: ```java Process process = Runtime.getRuntime().exec("ls /sdcard")...
在IT行业中,shell脚本是Linux或Unix操作系统中的一种强大工具,用于自动化任务执行和系统管理。当涉及到启动Java应用程序时,shell脚本可以提供一个方便、可重复且灵活的方法。下面我们将深入探讨如何使用shell脚本...
"Java代码执行shell命令的实现" Java代码执行shell命令的实现是指在Java程序中调用操作系统的shell命令,实现与操作系统交互的功能。下面将详细介绍Java代码执行shell命令的实现方法。 环境准备 在执行shell命令...
确保执行的用户拥有足够的权限来运行Shell脚本。 - 如果在执行过程中出现权限错误,请检查脚本的权限设置是否正确,或者尝试以其他用户身份运行Java程序。 3. **输入输出流处理**: - 使用`LineNumberReader`可以...
作为主shell的子进程,子shell将shell脚本中的命令作为批处理运行(因此称为“批处理进程”)。 在某些情况下,你也许想要知道运行中的子shell的PID。这个PID信息可以在不同的情况下使用。比如,你可以使用shell...
Java执行CMD命令及MongoDB脚本是开发过程中常见的任务,特别是在集成系统或者自动化运维场景下。下面将详细讲解这两个主题。 一、Java执行CMD命令 在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作...
在IT行业中,Java是一种广泛应用的编程语言,而Shell脚本则是Linux或Unix系统中的命令行脚本,用于自动化执行一系列任务。将Java与Shell脚本结合使用,可以在Java应用程序中执行系统级操作或者调用复杂的命令行流程...
因此,要在Android上运行shell脚本,我们通常需要通过Java代码来间接实现。 1. **使用Runtime类**:这是最基础的方法,通过`Runtime.getRuntime().exec()`方法执行shell命令。例如: ```java Process process = ...