执行Runtime.getRuntime().exec("ps -ef|grep indexer");
一直抛ERROR: Unsupported SysV option.
于是便去就按照这个error信息去百度、google找答案,未果。。。
看到网上相关问题解决方法(如下),我尝试Runtime.getRuntime().exec("eval ps -ef|grep indexer");
再次失败。。。抓狂中。。。
CMND="ps -ef"
$CMND
是可以正常执行地。
CMND="ps -ef|grep sshd"
$CMND
就会得到上面的错误了。
因为 "ps -ef|grep sshd" 不会被再次解析,管道符失效。
eval $CMND
这样就可以再解析一次。
PS:注意单引号,双引号,转义。
后经高人指点,恍然大悟。。。
linux下:
String[] command = { "/bin/sh", "-c", cmmd };
Process ps = Runtime.getRuntime().exec(command );
windows下:
String[] command = { "cmd", "/c", cmmd };
Process ps = Runtime.getRuntime().exec(command );
总结:没有抓住问题的关键,除了通过ERROR去找解决方法外,还可以通过问题本身或参考相关问题的解决方法。
相关文章:
1.http://bzhang.iteye.com/blog/407846
2.http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-traps.html?page=1
相关推荐
在Java编程中,有时我们需要与操作系统进行交互...总的来说,通过`Runtime`类,我们可以方便地在Java程序中执行Linux命令和shell脚本,实现客户端的多次调用。但同时需要注意异常处理和资源管理,以保证程序的健壮性。
在Java编程中,经常需要执行一些外部的可执行文件或者脚本(如bat或shell脚本)。本文将详细介绍三种常用的方法:`Runtime.exec()`、`ProcessBuilder`以及`commons-exec`库。 #### 1. 使用`Runtime.exec()` `...
在Linux环境下,shell脚本是自动化任务的强大工具,尤其对于数据导出这样的操作,通过编写shell脚本可以方便地实现定期备份或者按需导出。本文将深入讲解如何使用shell脚本来实现数据的导出,并结合Java代码进行调用...
在Java编程中,有时我们需要与操作系统进行交互,例如在Linux环境下执行shell脚本来完成特定的任务。本文将详细探讨如何在Java程序中调用Linux shell脚本,并解释相关的关键概念和步骤。 首先,调用shell脚本的基本...
在Android系统中,由于安全性和权限的限制,直接调用shell脚本并不像在Linux或Unix环境下那样简单。然而,对于非root用户来说,确实有一些方法可以实现对shell脚本的调用,尤其是在开发和调试过程中。下面我们将深入...
首先,Java通过`Runtime.getRuntime().exec()`方法来执行外部命令,包括Shell命令。这个方法接受一个字符串数组作为参数,其中第一个元素是Shell解释器的路径(通常是`/bin/sh`),第二个元素是`-c`,表示接下来的...
接下来,关于Java执行Shell脚本,你可以使用`Runtime.exec()`或`ProcessBuilder`,但是你需要确保你的脚本文件是可执行的,并且指定正确的路径。例如,执行一个名为`myscript.sh`的Shell脚本: ```java String ...
在某些情况下,Java程序需要调用Shell脚本执行特定的操作,比如访问Linux系统命令或者自动化执行一些任务。本文将详细解释Java如何调用Shell脚本,包括如何编写Shell脚本和在Java中如何传递参数。 首先,Shell脚本...
`Runtime.getRuntime().exec(String command)`或`Runtime.getRuntime().exec(String[] cmdArray)`可以执行单个命令。例如,执行`ls`命令可以写成: ```java Process process = Runtime.getRuntime().exec("ls"); ...
Shell脚本是用于Unix/Linux系统的一系列命令的集合,这些命令通常用于自动化任务处理。Shell脚本可以由任何文本编辑器编写,并且必须具有执行权限才能被系统识别并执行。 #### 三、使Shell脚本具备执行权限 为了...
在Windows和Linux环境中,启动批处理脚本(bat)和shell脚本(sh)是常见的任务,特别是在自动化和脚本执行过程中。`RunScript.java`和`StreamGobbler.java`这两个文件可能就是用来实现这个功能的。 `RunScript....
这个简单的例子会在当前目录下执行`ls -l`命令,获取并打印出目录中的文件列表。 此外,压缩包中还有两个库的源码版本——ganymed-ssh2-build210.zip和jsch-0.1.53.zip,以及expect4j的源码仓库——expect4j-master...
在这个示例中,我们使用 Runtime.getRuntime().exec() 方法来执行 Shell 脚本,并使用 waitFor() 方法来判断脚本是否正常执行。如果脚本执行失败,我们将记录错误信息。 结论 Java 调用 Shell 命令并获取执行结果...
例如,如果我们想在Linux环境下执行`ls`命令,可以这样做: ```java try { Process process = Runtime.getRuntime().exec("ls"); BufferedReader reader = new BufferedReader(new InputStreamReader(process....
在Linux上,这可以通过`Runtime.getRuntime().exec("kill -SIGTERM processId")`实现;在Windows上,可以使用`taskkill /F /PID processId`命令。 `CMDUtil.java`可能是一个工具类,封装了与操作系统交互的命令行...
在Java编程中,有时我们需要与操作系统进行...在Linux环境下,这种方式尤其有用,因为Linux系统的许多操作可以通过Shell脚本来完成。记得在开发和部署过程中,考虑跨平台性,因为不同的操作系统可能有不同的Shell语法。
在IT行业中,Java是一种广泛应用的编程语言,而Shell脚本则是Linux或Unix系统中的命令行脚本,用于自动化执行一系列任务。将Java与Shell脚本结合使用,可以在Java应用程序中执行系统级操作或者调用复杂的命令行流程...
而对于Linux,可能是执行shell脚本。注意,执行外部命令时应处理好权限和错误流,以确保脚本正确执行。 ```java try { Process process = Runtime.getRuntime().exec(windowsScript.getFile().getAbsolutePath());...
在Java编程中,有时我们需要在程序中执行操作系统级别的任务,比如...总的来说,通过`Runtime.execute`方法和适当的辅助类,我们可以方便地在Java程序中执行Shell脚本,从而实现与操作系统的交互,执行各种系统级任务。
标题中的“java执行linux的SH文件”指的是在Java程序中调用Linux系统中的Shell脚本进行执行。这通常涉及到Java的Runtime类或者ProcessBuilder类,它们可以用来与操作系统进行交互,执行外部命令。 1. **Java运行...