`

java调用shell命令并获取执行结果(转)

    博客分类:
  • JAVA
阅读更多

原文链接

使用到Process和Runtime两个类,返回值通过Process类的getInputStream()方法获取

package ark;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

public class ReadCmdLine {
	public static void main(String args[]) {
		Process process = null;
		List<String> processList = new ArrayList<String>();
		try {
			process = Runtime.getRuntime().exec("ps -aux");
			BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
			String line = "";
			while ((line = input.readLine()) != null) {
				processList.add(line);
			}
			input.close();
		} catch (IOException e) {
			e.printStackTrace();
		}

		for (String line : processList) {
			System.out.println(line);
		}
	}
}

 

调用shell脚本,判断是否正常执行,如果正常结束,Process的waitFor()方法返回0

	public static void callShell(String shellString) {
		try {
			Process process = Runtime.getRuntime().exec(shellString);
			int exitValue = process.waitFor();
			if (0 != exitValue) {
				log.error("call shell failed. error code is :" + exitValue);
			}
		} catch (Throwable e) {
			log.error("call shell failed. " + e);
		}
	}

 

分享到:
评论

相关推荐

    java调用shell命令并获取执行结果的示例

    Java调用Shell命令并获取执行结果的示例 在 Java 中调用 Shell 命令并获取执行结果是非常常见的操作,今天我们就来分享一个 Java 调用 Shell 命令并获取执行结果的示例。 Process 和 Runtime 类 在 Java 中,我们...

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

    总之,Java调用Shell脚本是一个有效的方法来在Java程序中实现复杂的Linux环境下的操作,这种技术尤其适用于需要进行系统级操作和自动化任务的场景。掌握这一技术可以帮助开发者更好地实现跨平台的功能,尤其是在开发...

    Java 调用 Shell 命令

    ### Java调用Shell命令知识点详解 #### 一、概述 在特定的应用场景中,比如完成外币资金的调度工作后,可能需要通过Java程序来生成一个文本文件,并进一步利用Shell脚本来实现文件传输等操作。这涉及到Java与操作...

    java调用shell命令实现实例

    基于sshConnect的linux服务器的shell命令调用,并获取命令返回结果的实例。亲测有效!

    java调用shell脚本

    总结,Java调用Shell脚本是实现系统级任务自动化的重要手段,但同时也需要关注安全性、资源管理和错误处理等问题。通过合理使用Runtime和ProcessBuilder,我们可以构建出高效且安全的Java-Shell交互解决方案。在实际...

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

    2. **执行Shell命令**:一旦连接建立,开发者可以方便地发送shell命令到远程系统,并获取命令的输出结果。 3. **文件传输**:除了执行命令,SSHXCUTE还支持文件和目录的上传与下载,这对于部署应用或同步数据非常...

    Android程序中(APK程序)执行Adb shell 命令

    在高级语言如Java或Kotlin中调用shell命令,虽然方便但也存在一些风险,比如可能引入安全漏洞。因此,除非必要,否则应尽量避免在应用程序中使用shell命令,而是利用Android SDK提供的安全且封装好的API。 综上所述...

    java调用DOS命令

    Java调用DOS命令是指在Java程序中执行操作系统级别的命令,比如Windows下的CMD命令或Linux下的Shell命令。这种功能在很多场景下都很有用,比如自动化脚本、文件操作、系统管理等。Java提供了Runtime类和...

    java调用shell向DataX传参,带where条件,特殊字符

    Java调用Shell脚本执行DataX任务是一种常见的数据迁移或同步操作。DataX是阿里巴巴开源的数据同步工具,它支持多种数据库之间的数据迁移。在实际应用中,我们可能需要根据特定的业务逻辑,如where条件,来定制数据...

    Java调用Shell脚本代码

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

    android 给app授权 执行shell命令

    4. **执行Shell命令**:一旦获取到Root权限,就可以通过Java的Runtime类或第三方库来执行shell命令。例如,使用Runtime类的`exec()`方法: ```java Process process = Runtime.getRuntime().exec("su"); ...

    java Sokcet远程调用shell

    4. 服务器端接收到命令后,使用Runtime或ProcessBuilder类执行Shell命令,并获取命令执行结果。 5. 服务器端将命令执行的结果通过Socket回传给客户端。 6. 客户端接收并处理服务器返回的数据,可能包括命令执行的...

    java调用shell

    ### Java调用Shell的基本原理 Java调用Shell主要依赖于`java.lang.Runtime`类中的`exec()`方法。这个方法允许Java程序执行外部命令或程序,包括Shell脚本。`Runtime.getRuntime().exec(command)`方法接受一个字符串...

    andorid使用jni执行shell命令例子

    在JNI中,我们可以使用`popen`和`pclose`函数来执行shell命令并获取其输出。`popen`用于打开一个进程,`pclose`则用于关闭进程并等待其结束。示例代码如下: ```cpp #include JNIEXPORT void JNICALL Java_...

    Java远程调用Shell脚本并获取输出信息【推荐】

    Java远程调用Shell脚本并获取输出信息 本文主要介绍了Java远程调用Shell脚本...本文介绍了Java远程调用Shell脚本并获取输出信息的方法,使用了Java的SSH客户端来连接远程Linux服务器,执行Shell脚本,并获取输出信息。

    android通过jni执行shell命令

    4. 在Java代码中调用本地方法,传递shell命令。 5. 可以使用`logSystem.zip`中的工具或代码记录执行过程和结果,以便于调试和分析。 注意,执行shell命令需要`android.permission.ACCESS_SUPERUSER`权限,而且需要...

    使用runtime实现linux命令行或shell脚本多次调用

    在Java编程中,有时我们需要与操作系统进行交互...总的来说,通过`Runtime`类,我们可以方便地在Java程序中执行Linux命令和shell脚本,实现客户端的多次调用。但同时需要注意异常处理和资源管理,以保证程序的健壮性。

    干货:Jenkins Pipeline调用shell、python、java、groovy脚本的正确使用姿势.doc

    例如,使用 `result = sh(script: "", returnStdout: true).trim()` 可以执行 shell 命令并获取其返回值。 使用 Groovy 脚本 Groovy 脚本可以用来实现一些复杂的功能。例如,从配置文件中读取 URL 信息,可以使用...

    android系统中调用shell脚本

    4. **使用`dalvikvm-heap`权限**:在AndroidManifest.xml中添加`&lt;uses-permission android:name="android.permission.DUMP" /&gt;`,这允许应用获取设备状态信息,可能有助于执行更复杂的shell命令。 5. **使用AIDL...

Global site tag (gtag.js) - Google Analytics