Java /Jsp 执行操作系统命令 windows/Linux
2006-04-22 23:10
806 查看
1.Windows 很简单,写出来时为了和linux对比
public void execWindowsCmd(String cmd) throws Exception {
Runtime rt = Runtime.getRuntime();
Process ppp = rt.exec(cmd);
//input
InputStreamReader ir = new InputStreamReader(ppp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null)
com.pub.Log.logger.debug(this.getClass().getClass() + " " +
line);
//error
ir = new InputStreamReader(ppp.getErrorStream());
input = new LineNumberReader(ir);
while ((line = input.readLine()) != null)
com.pub.Log.logger.debug(this.getClass().getClass() + " " +
line);
ppp.waitFor();
}
2. Linux :首先要确保对于命令,允许Web服务器的用户是否有权限,普通命令和windows没什么区别。Linux管道命令不能这样直接执行,下面是具体实现fang
public void execLinuxCmd(String cmd) throws Exception {
Runtime rt = Runtime.getRuntime();
File f = new File(this.fileName + PDU_SHELL);
BufferedWriter bw = new BufferedWriter(new FileWriter(f));
bw.write("#!/bin/bash");
bw.newLine();
bw.write(cmd); //把命令写入一个文本shell文件
bw.flush();
bw.close();
cmd = f.getAbsolutePath();
Process ppp = rt.exec("chmod a+x " + cmd); //授权该shell文件可以执行
ppp.waitFor();
ppp = rt.exec(cmd); //执行shell
//input
InputStreamReader ir = new InputStreamReader(ppp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null)
com.pub.Log.logger.debug(this.getClass().getClass() + " " +
line);
//error
ir = new InputStreamReader(ppp.getErrorStream());
input = new LineNumberReader(ir);
while ((line = input.readLine()) != null)
com.pub.Log.logger.debug(this.getClass().getClass() + " " +
line);
ppp.waitFor();
}
public void execWindowsCmd(String cmd) throws Exception {
Runtime rt = Runtime.getRuntime();
Process ppp = rt.exec(cmd);
//input
InputStreamReader ir = new InputStreamReader(ppp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null)
com.pub.Log.logger.debug(this.getClass().getClass() + " " +
line);
//error
ir = new InputStreamReader(ppp.getErrorStream());
input = new LineNumberReader(ir);
while ((line = input.readLine()) != null)
com.pub.Log.logger.debug(this.getClass().getClass() + " " +
line);
ppp.waitFor();
}
2. Linux :首先要确保对于命令,允许Web服务器的用户是否有权限,普通命令和windows没什么区别。Linux管道命令不能这样直接执行,下面是具体实现fang
public void execLinuxCmd(String cmd) throws Exception {
Runtime rt = Runtime.getRuntime();
File f = new File(this.fileName + PDU_SHELL);
BufferedWriter bw = new BufferedWriter(new FileWriter(f));
bw.write("#!/bin/bash");
bw.newLine();
bw.write(cmd); //把命令写入一个文本shell文件
bw.flush();
bw.close();
cmd = f.getAbsolutePath();
Process ppp = rt.exec("chmod a+x " + cmd); //授权该shell文件可以执行
ppp.waitFor();
ppp = rt.exec(cmd); //执行shell
//input
InputStreamReader ir = new InputStreamReader(ppp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
String line;
while ((line = input.readLine()) != null)
com.pub.Log.logger.debug(this.getClass().getClass() + " " +
line);
//error
ir = new InputStreamReader(ppp.getErrorStream());
input = new LineNumberReader(ir);
while ((line = input.readLine()) != null)
com.pub.Log.logger.debug(this.getClass().getClass() + " " +
line);
ppp.waitFor();
}
相关文章推荐
- Java /Jsp 执行操作系统命令 windows/Linux
- Java /Jsp 执行操作系统命令 windows/Linux
- Java /Jsp 执行操作系统命令 windows/Linux
- java Windows下cmd 命令和Linux下shell命令 执行非JDK中的jar包
- java调用windows/Linux/Unix 命令行执行命令的方法--调用ImageMagick的合并图形的命令
- windows 下 java程序jsch连接远程linux服务器执行shell命令
- Java在windows上操作系统文件与程序,执行系统命令等的技巧 .
- Java程序执行Linux命令(JSP运行其他程序)
- java执行客户端命令(windows与linux通用)
- Java 在windows上操作系统文件与程序,执行系统命令等的技巧
- Windows 和 Linux 下面执行 java -cp 命令时候的不同
- 在Linux操作系统上执行java代码,执行交互式命令
- java process调用可执行文件(windows 或者 linux)
- maven执行打包命令(mvn package)是出现Java heap space错误的解决方法(windows环境)
- kali linux 生成后门文件命令:PHP,java,Linux,windows,android
- Java调用linux系统shell执行命令
- java 如何判断操作系统是Linux还是Windows
- java执行Linux命令 .
- java执行windows下cmd命令的方法
- java 执行linux命令或shell脚本方法