请问如何用java程序返回linux中top命令的执行结果

作者&投稿:阙孔 (若有异议请与网页底部的电邮联系)
java如何调用Linux下的top命令~

Runtime.getRuntime().exec("top -n 1>text.txt");


test.sh:
#!/bin/bash
top -n 1>test.txt

Runtime.getRuntime().exec("test.sh");
Runtime.getRuntime().exec("bash test.sh");

多试试,肯定是这样调用的,只有这个方法是调用本地进程的。

1、分离抽象接口及其实现部分。
2、桥接模式提高了系统的可扩充性,在两个变化维度中任意扩展一个维度,都不需要修改原有系统。
3、实现细节对客户透明,可以对用户隐藏实现细节。

package com.ncs_cyber.util;

  import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.util.Random;

  public class GwUtil {
private static Random r = new Random();

  /**
* 功能:执行CMD命令,返回命令结果
*/
public static String execByFile(String cmd) throws Exception {
String filename = null;
StringBuffer sb = new StringBuffer("");
BufferedReader bufferedReader = null;
Process process = null;
File file = null;
r.setSeed(99999);

  if (cmd == null) {
return null;
}
try {
String ls_1;
// 生成临时文件,文件名随机
filename = "/tmp/gwtemp" + Long.toString(Math.abs(r.nextLong()))
+ ".sh";

  file = new File(filename);
while (file.exists()) {
filename = "/tmp/gwtemp"
+ Long.toString(Math.abs(r.nextLong())) + ".sh";
file = new File(filename);
}
String execmd = new String("sh " + filename);// 执行文件的命令
FileWriter filewriter = new FileWriter(file, false);
filewriter.write("#! /bin/sh");
// Log.debug("do cmd:" + cmd + "\n");

  filewriter.write("\n" + cmd + "\n");// 将命令写入文件
filewriter.close();
// Log.debug("run cmd\n");
process = Runtime.getRuntime().exec(execmd); // 执行临时的可执行文件
// Log.debug("run cmd over\n");
// 得到结果
bufferedReader = new BufferedReader(new InputStreamReader(process
.getInputStream()));
while ((ls_1 = bufferedReader.readLine()) != null) {
sb.append(ls_1 + "\n");
}
} catch (Exception e) {
throw new Exception("can not exec the cmd:" + cmd);
} finally { // 清理
try {
filename = null;
if (file != null) {
file.delete();
file = null;
}
if (bufferedReader != null) {
bufferedReader.close();
bufferedReader = null;
}

  if (process != null) {
process.destroy();
process = null;
}
} catch (Exception e) {
e.printStackTrace();
}
}
return sb.toString();
}
public static void main(String args[]){
try {
GwUtil.execByFile("top -bn -1>/tmp/test.txt;cat/tmp/test.txt");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

试试 top -n 1 或 top -n 1 -b

public static void pdfToSWF(String pdfPath,String swfPath) {
String cmd = "cmd /c pdf2swf.exe -t "+pdfPath+" -o "+swfPath+" -s flashversion=9";
String dir = ReadPropertis.getSWFToolsPath();
try {
java.lang.Runtime.getRuntime().exec(cmd,null,new File(dir));
} catch (IOException e) {
logger.error("创建SWF文件异常",e);
}
}


如何用java编写一元二次方程的求根问题
public class SquareEquation { double a, b, c;public void setA(double a) { this.a = a;} public void setB(double b) { this.b = b;} public void setC(double c) { this.c = c;} public double getRootOne() { double disk = calculateValidDisk();return (-b + Math.sqrt...

如何用一个java程序打开一个java程序
在上面的程序中,第一行的“.\\\\p.exe”是要执行的程序名,Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。通过Process可以控制该子进程的执行或获取该子进程的信息。第二条语句的...

急求!!!如何用java程序代码实现计算器界面
package jisuanqi_new;import java.awt.*;import java.awt.event.*;public class JiSuanQi_new implements ActionListener { Panel p1;\/\/声明面板p1 TextField t1;\/\/声明文本行t1 String[] label = {"7","8","9","\/","4","5","6","*","1","2","3","-","0",".","=","+"...

在Java怎么开始编程?
总之,零基础小白学习JAVA要懂得一个道理,学习和掌握java相关技术也非一朝一夕之事,不可能一蹴而就,除了知识理论的学习,还需要后续更深入的学习和大量的实践,所以需要你一个良好的学习规划。新手应该如何学习Java编程语言 一、Java的语法基础 学习java的第一步是学会使用java程序语言编写程序,学习程序语言的第一步是...

如何利用java做android?
使用J2EE技术或者叫JavaWeb技术开发一个Web服务器,服务器返回Json数据,android客户端解析json数据,使用http协议和服务器通信,android有相应模块和API。首先楼主得懂Java后台也就是JavaEE,用Servlet搭建Web服务,Serlvet映射一个URL,Android请求这个URL,Servlet处理请求,然后就是Java编程,Web分层、JDBC等...

如何在Java程序中访问mysql数据库中的数据并进行简单的操作
一、使用工具:java语言、Myeclipse。二、操作步骤:1、第一步:加载MySQL的JDBC的驱动 2、第二步:创建与MySQL数据库的连接类的实例 3、第三步:获取连接类实例con,用con创建Statement对象类实例 sql_statement 4、第四步:执行查询,用ResultSet类的对象,返回查询的结果 5、得出数据 三、注意事项:...

如何用Java程序访问AS400上的数据库
JDBC提供了一套API,以统一的方式访问各种异构的数据库。JDBC数据库设计具有以下特点:(1)独立于平台的数据库访问,这是J2EE的跨平台机制和Java语言的特点决定的。(2)数据库位置透明,应用程序设计人员不需要关心底层数据库的具体位置、数据库的具体类型等这些不同种类的数据库信息可以通过JDBC屏蔽掉,...

如何学习编写java 应用程序
如果一切设置妥当,那么您将看到屏幕将输出两行文字告诉您如何使用javac。这意味着一切已经准备就绪了。如果您看到“错误的命令或文件名”这条消息,则说明还没有准备好。请重新阅读安装说明检查哪里出了问题。确定PATH被正确设置并可用。回头重新阅读上面的步骤,问题不解决不要轻易放弃。现在您已自豪地拥有...

如何用Java关闭一个进程
解决这个问题,要看这个进程是java程序自定义的进程,还是操作系统的进程,操作系统的进程,又可以分为windows进程和Linux进程 一、针对操作系统的进程:1,首先java用户,要具有操作进程的权限 2. 针对windows操作系统的进程,比如QQ进程:String command = "taskkill \/f \/im QQ.exe"; Runtime.getRun...

如何用java程序 求0.1的7次方
在Math类中pow的声明:public static double pow(double a, double b)参数:a - 底数。b - 指数。返回:值 a的b次幂 求0.1的7次方 Math.pow(0.1,7);注意7如果是int的,会自运转为double型的,返回结果为double型的.你写的没有错,其实这样Math.pow(d1, d2)是最好的输写方法,最好不要...

广德县15155936010: java怎么调用linux的命令?怎么输入一条命令让linux用终端运行,然后获得返回的文本? -
庾衬脑得: 用java的process类了.process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类).process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程.

广德县15155936010: java 如何使程序返回到指定地方 -
庾衬脑得: import java.util.Scanner;public class No11 {public static void main(String args[]){String getNum="";Scanner scan=new Scanner(System.in);System.out.print("请输入信用卡号:"); getNum=scan.next(); while(true){ if(getNum.length()!...

广德县15155936010: 在java方法中怎么返回对象 -
庾衬脑得: 首先要说明你要返回一个什么对象. “想要在类 Drink 中的方法 getDrink(int drinkType) 中返回一个对象!!: ”,public static /*这里该填什么? 填写你要返回的对象的类型*/ getDrink(int drinkType){ switch(drinkType){ case 1: /*还有这里该怎样返回呢? 返回对象x 直接用return 对象就行了 */ case 2: /*返回对象y*/ } }

广德县15155936010: 如何在java程序中调用linux命令或者shell脚本 -
庾衬脑得: 在java程序中如何调用linux的命令?如何调用shell脚本呢?这里不得不提到java的process类了.process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类...

广德县15155936010: java程序中怎么获取linxu系统的根目录 -
庾衬脑得: 根目录的路径就是/,永远不变,直接写/即可,无需获取.

广德县15155936010: java运行linux命令获得返回值的问题 -
庾衬脑得: inputStream = Runtime.getRuntime().exec(cmd);java的这个方式,得到的是控制台的输出流, 也就是linux命令运行完,显示在屏幕上的东西,都以流的方式传递给java了,可以通过下边的方式 InputStreamReader insr = new InputStreamReader...

广德县15155936010: java程序中,怎么返回上一个步骤? -
庾衬脑得: String firstPage=" 欢迎使用我行我素购物管理系统 \n* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n 1、登 录 系统 \n 2、更 改 管 理 员 密 码 \n 3、退 出 \n"* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n"; 不同页定义一个不同的...

广德县15155936010: java如何获得mysql存储过程的返回值 -
庾衬脑得: cstmt.registerOutParameter(10, Types.INTEGER);//先声明输出参数System.out.println(cstmt.getInt(10));//用getXX取

广德县15155936010: 请问如何用java程序返回linux中top命令的执行结果 -
庾衬脑得: package com.ncs_cyber.util;import java.io.BufferedReader; import java.io.File; import java.io.FileWriter; import java.io.InputStreamReader; import java.util.Random;public class GwUtil { private static Random r = new Random();/** * 功能:执...

广德县15155936010: java的方法中return是怎么用的?新手急救!谢谢 -
庾衬脑得: return是指一个Java方法要返还的值.一个Java的方法,只要有返回值(也就是说方法里没有void)都要用return来把最后得出的结果返还.比如 static int max(int a,int b){ if(a>b) return a; else return b; } 这个方法比较了两个参数,然后调用return来返还其中一个大的值.在调用max的时候你要这样写: int c=max(a,b); 这样max返还的值就被赋予了c. 简单的来说一个方法就像一部机器,参数是你的输入,而return返还的值就是你要的输出.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网