import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.log4j.Logger;
public class ProcessorTest
{
private static Logger log = Logger.getLogger(ProcessorTest.class.getName());
public static void main(String[] args) {
new ProcessorTest().printSystemProcessor();
}
public void printSystemProcessor(){
Process process = null;
String command = getExecCommand();
try {
process = Runtime.getRuntime().exec(command);
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = input.readLine()) != null){
log.info(line);
}
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public String getExecCommand() {
// default is windows.
String command = "cmd.exe /c tasklist";
String osName = System.getProperty("os.name");
if(osName != null && osName.indexOf("Windows")<0){
command = "ps aux";
}
return command;
}
}
//新线程
new Thread() {
public void run() {
try {
Process ps = Runtime.getRuntime().exec(batName);
ps.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
相关推荐
首先,Java本身并不直接支持获取系统中所有进程的详细信息,包括进程ID。这是因为Java的设计理念是跨平台兼容,而不同操作系统对进程管理的接口有所不同。然而,我们可以通过Java的`Runtime.exec()`方法或者`...
2. JNI方式获取系统进程: JNI允许Java程序直接调用本地(C/C++)代码,提供对操作系统底层功能的访问。当需要高性能或直接操作系统资源控制时,这种方法特别有用。以下是一个简单的JNI流程: - **前言**: JNI...
`:获取当前系统中的所有进程ID。 - 对每个PID执行以下操作: - 调用`Ps.getInfo(sigarProxy, pid);`获取进程信息。 - 计算CPU使用率:`ProcCpu cpu = sigarProxy.getProcCpu(pid);` - 将CPU使用率添加到进程...
可以获得当前系统进程的一个java方法类
此外,开发者还提到有其他作业调度资源可供下载,这可能意味着该程序可以扩展以支持更多的调度算法,比如轮转法(Round Robin)、优先级调度等,这对于学习和研究操作系统进程调度提供了丰富的实践平台。 总的来说...
- `Runtime.getRuntime()`:获取当前Java应用程序的`Runtime`对象,这是Java应用程序与操作系统交互的主要接口之一。 - `rt.exec()`:使用`exec`方法执行外部命令。这里通过`cmd.exe`调用`wmic`命令,传入参数`...
Java 获取系统信息(CPU、内存、硬盘、进程等)的相关方法 Java 获取系统信息是指通过 Java 语言获取当前系统的各种信息,包括 CPU、内存、硬盘、进程等。下面将介绍两种获取系统信息的方法。 方法一:使用 Java ...
java语言操作系统课程设计模拟进程管理系统源码 需求分析 实现n个进程并发运行; 实现进程创建、撤销、阻塞、唤醒; 实现进程的同步; 实现优先级调度、时间片轮转、短进程优先等调度算法; 系统在运行过程中应能...
在《Java_JNI_获得系统进程信息实例.doc》中,我们探索了一个利用Java Native Interface (JNI)来获取操作系统进程信息的示例项目。该项目由三个主要部分组成:`systemProcess.java`,`dataProcess.java`以及`process...
Java 获取系统信息(CPU、内存、硬盘、进程等)的相关方法 Java 获取系统信息是指通过 Java 语言获取当前系统的各种信息,包括 CPU 信息、内存信息、硬盘信息、进程信息等。在实际开发中,这些信息往往是非常有用的...
在这个Java实现的课程设计中,我们将深入探讨操作系统进程调度的基本概念,并了解如何用Java语言来模拟这一过程。 首先,让我们了解什么是进程调度。在操作系统中,进程是执行中的程序实例,每个进程都有自己的内存...
通过以上分析,我们可以看出,Java 作为强大的编程语言,完全能够胜任模拟操作系统进程调度的任务,不仅提供了实现各种调度策略的工具,还允许我们进行详尽的测试和性能分析,从而加深对操作系统核心概念的理解。
Java 获取当前进程ID是指在 Java 程序中获取当前进程的 ID 号码,而获取所有 Java 进程的进程 ID 则是指获取所有当前正在运行的 Java 进程的 ID 号码。这些信息对于 Java 程序的监控和管理具有重要的意义。 获取...
在操作系统中,进程调度是核心功能之一,它决定了哪些进程应该获得CPU的执行权以及何时切换。本项目通过JAVA编程语言模拟了这一过程,旨在帮助理解操作系统如何管理多个并发执行的任务。下面我们将深入探讨相关知识...
获取系统当前活跃进程,输出进程信息以及进程加载dll信息。
Java可以通过调用Windows API来管理Windows系统的内存,释放内存缓存,获得CPU使用率,监视系统性能,获得系统内存信息,获得磁盘空间信息和枚举进程列表。 相关知识点: * Windows内存管理机制 * 虚拟内存和页面...
总的来说,通过Java进行系统进程监控提供了灵活且实用的方法,尤其在测试和比较Java程序性能时。无论是使用命令行工具还是JNI,都可以帮助开发者获取必要的资源使用信息,从而优化程序设计和系统配置。不过,需要...
总之,Java模拟操作系统中的进程调度算法是学习操作系统课程的经典实践项目。通过FCFS、SJF、RR和HRN这四种算法的实现,我们可以更好地理解和掌握进程调度的基本原理,为设计和优化更复杂的调度策略打下坚实基础。
### 使用Java调用DOS命令获取系统进程列表 在日常的软件开发与系统管理工作中,经常需要通过编程的方式来获取或操作系统的相关信息。本篇文章将详细解释如何利用Java语言调用DOS命令来获取Windows系统的进程列表。...
用java语言实现获取本机进程列表,从而进行相关其他操作。