运行TestLinuxCommand.java
代码
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
/**
*
* @author nathan
*/
public class TestLinuxCommand {
public static void main(String[] args) {
String logDir = System.getProperty("log.dir");
//windows
// String commands = "cmd.exe /c c: && dir";
// String commands = "ls -l";
// String commands = "sh -c cd /data/log/daemon/commonprocess && ls -lt";
String[] commands = new String[] {"/bin/sh", "-c", "/bin/ls -lt /data/log/daemon/commonprocess"};
// String[] commands = new String[]{"cmd","dir"};
java.lang.Process process = null;
try
{
process = Runtime.getRuntime().exec(commands);
System.out.println("exec commands success");
InputStreamReader inputStream = new InputStreamReader(process.getInputStream());
BufferedReader input = new BufferedReader(inputStream);
String line;
System.out.println("print inputStream start");
while ((line = input.readLine()) != null){
System.out.println(line);
}
System.out.println("print inputStream over");
InputStreamReader errorStream = new InputStreamReader(process.getErrorStream());
input = new BufferedReader(errorStream);
System.out.println("print errorStream start");
while ((line = input.readLine()) != null){
System.out.println(line);
input.close();
}
System.out.println("print errorStream over");
} catch (IOException e)
{
System.out.println("have ioexception");
e.printStackTrace();
} finally{
try
{
System.out.println(process.waitFor());
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
命令
java -classpath .:/usr/java/jdk1.6.0_26/lib/* TestLinuxCommand
javac TestLinuxCommand.java