我是 Java 新手。我想使用命令
"ps -e > /home/root/workspace/MyProject/ProcessList.txt"
与 runTime.exec();
通过网络搜索,我了解到 runTime.exec() 不支持管道或重定向。请让我知道如何使用我的 Java 代码执行此命令。请给出准确答案。
最佳答案
管道和重定向是 shell 提供的功能。简单(和肮脏)的解决方案是在 shell 中生成命令:"/bin/sh -c 'ps -e >/home/root/workspace/MyProject/ProcessList.txt'"
。
编辑:我忘记了默认的 StringTokenizer
不适用于带引号的字符串。以字符串数组的形式提供参数。
String[] args = {
"/bin/sh",
"-c",
"ps -e > /home/root/workspace/MyProject/ProcessList.txt"
};
java.lang.Runtime.getRuntime(args);
关于java - 如何通过runTime.exec()使用涉及 ">"的linux命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13671256/