解释:
使用Runtime.getRuntime().exec(command) 可以直接调用linux的命令,比如执行‘ls’,‘cat’命令等,代码:
Runtime.getRuntime().exec(‘ls’);
但是Runtime.getRuntime().exec(command) 返回的是一个Process类的实例对象,返回的实力对象可以控制进程或者获取进程的信息,
调用Runtime.exec方法将产生一个本地的进程,由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,
因此该子进程的标准IO(如stdin,stdou,stderr)都通过Process.getOutputStream(),
Process.getInputStream(), Process.getErrorStream()等方法重定向给它的父进程,
用户可以这些stream获取子进程的输入和输出信息。
另外需要主要的是,如果执行ls命令,可以直接将command赋值为‘ls’,但是command如果赋值为‘top’最终是打印不出结果的,需要是使用
‘top –b –n 1’,“-n 1”表示top命令只执行一次。
package com.easymorse.mail;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
public class ServerData {
public String getServerTopCommandContent() {
Process process;
String allcontent = "";
try {
process = Runtime.getRuntime().exec ("top -b -n 1");
InputStreamReader ir= new InputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
String line;
while ((line = input.readLine ()) != null){
//System.out.println(line);
line = line + "<br />";
allcontent += line;
}
} catch (IOException e) {
e.printStackTrace();
} // 表示只执行一次就自动退出,
}
}
分享到:
相关推荐
Java提供了多种方式来执行外部命令或脚本,其中最常用的是通过`Runtime`类的`exec`方法。具体而言,`Runtime.getRuntime().exec(command)`是执行Linux命令的标准方法。例如,要执行`ls`命令列出当前目录下的文件和...
在Java开发过程中,熟悉Linux操作系统的基本命令是必不可少的技能。Linux命令行提供了高效、强大的工具,可以帮助开发者进行项目管理、调试、系统监控等任务。以下是一些Java开发中常用的Linux命令,它们对于优化...
- **系统CPU和Java进程CPU**:通过`top`或`jstat`命令监控CPU使用率,过高可能表示存在性能瓶颈或资源争抢,需要进一步定位问题。 - **方法级CPU消耗**:通过剖析工具如JProfiler,可以细化到具体方法的CPU消耗,...
3. **性能监控**:`top`命令提供了实时系统资源使用的概览。用户可以通过按下Shift键+“m”对进程按照内存使用量进行排序,以便更好地了解哪些进程占用较多内存资源。 4. **环境变量查看**:使用`env`命令可以查看...
`top` 命令在`Linux`环境中对于系统性能的实时监控和故障排查至关重要,尤其在Java开发和运维中,它可以快速定位到消耗资源最多的进程,从而优化系统性能。通过对`top`命令的熟练掌握,我们可以更有效地管理和优化`...
解决 Java 程序运行慢问题首先需要了解整个 CPU 资源使用情况,可以使用 top 命令来查看 CPU 资源使用情况。通过 top 命令可以了解当前系统的 CPU 使用率、内存使用率、进程列表等信息。 二、 Java 进程的每一个...
下面通过一个示例程序来具体说明如何使用Sigar来获取进程的PID、用户、启动时间、大小、所占内存、状态、运行时间、CPU使用率以及命令等信息。 #### 示例代码分析 ```java private static final int SLEEP_TIME = ...
- Java运行系统命令:`Runtime.getRuntime().exec()`或`ProcessBuilder`。 - 安全考量:避免命令注入,可能使用Java内置库或第三方库进行证书管理。 - 数字证书和SSL/TLS协议的基础知识。 - Java与外部工具交互的...
3. 在 $JAVA_TOP 下执行生成 jar 包命令。 4. 修改 $FND_TOP/admin/template/ebsProductManifest_xml.tmp 文件(先备份),添加如下行:<library>customprod.jar 5. 执行 adautocfg,完成系统更新。 6. 重启应用服务...
java类,通过运行dos命令,txt文件可以像exe一样运行,数据由随机数产生,可以动态的显示曲线,以循环的方式实现动态显示
2. Shell命令执行:Java程序可以调用Runtime或ProcessBuilder类来执行Linux Shell命令,如`ls`, `ps`, `top`等,获取服务器状态信息。 3. 自定义脚本:将Java与Shell脚本结合,可以创建复杂的运维流程,比如定期...
Java程序通过编译成字节码,可以在任何安装了Java虚拟机(JVM)的平台上运行,这使得Java具备了跨平台的能力。在Java基础部分,笔记可能会涵盖以下内容: 1. **环境配置**:如何安装Java开发工具包(JDK),设置...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
1. **启动top命令**:首先通过命令行输入`top`来启动top命令。该命令能够实时显示当前系统中各个进程的资源使用情况。 2. **切换至线程模式**:在top命令界面中,默认显示的是进程级别的资源占用情况。为了更细致地...
例如,我们可以使用`java.lang.Runtime.exec()`方法执行操作系统特定的命令,然后解析返回的输出结果。 在实际项目中,通常会构建一个服务端应用,该应用定期收集远程系统的数据,并存储到数据库或者日志文件中。...
分析`jstack`输出的线程堆栈,我们需要重点关注那些长时间运行或重复执行的线程,它们可能是CPU资源占用高的主要原因。常见的问题可能包括无限循环、锁竞争、计算密集型任务没有合理优化等。针对发现的问题,我们...
Linux不仅在服务器端广泛使用,而且许多开发工具和框架也在Linux环境下运行良好。以下是一些Java程序员需要掌握的Linux基础知识: 1. **用户和账户管理**: - `userdel`:删除一个用户账户。 - `useradd`:创建新...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...
4. **部署JAR应用**: 对于独立的Java应用,可以直接通过`java -jar`命令执行JAR文件。如果需要后台运行,可以使用`nohup`或`screen`命令。 5. **部署WAR应用**: 如果是Web应用,通常需要将WAR文件部署到Web服务器或...
淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的...