

欢迎关注微信公众号:数据科学与艺术 作者WX:superhe199
ps 命令:ps 命令用于显示当前运行的进程。可以使用以下命令来查询 Java 进程:
ps -ef | grep java这将列出所有含有 “java” 关键字的进程,并显示它们的进程 ID(PID)、父进程 ID(PPID)、进程状态等信息。
jps 命令:jps 命令是 Java 自带的命令,用于列出 JVM(Java 虚拟机)进程。可以使用以下命令来查询 Java 进程:
jps这将列出所有正在运行的 Java 进程,并显示它们的进程 ID 和进程名称。
top 命令:top 命令用于实时监视系统的运行情况,包括 CPU 占用率、内存占用率等。可以使用以下命令来查询 Java 进程:
top -p <PID>将 <PID> 替换为具体的 Java 进程 ID,这将单独显示该进程的信息。
Runtime类或ProcessBuilder类来实现与Linux命令的交互。使用Runtime类执行Linux命令的步骤:
Runtime.getRuntime()获取Runtime对象。Runtime对象的exec()方法执行Linux命令,并返回表示子进程的Process对象。Process对象的getInputStream()方法获取命令执行结果的输入流,通过读取输入流获取命令输出。Process对象的waitFor()方法等待命令执行完成。下面是一个示例代码,演示了如何使用Runtime类执行Linux命令并获取命令输出:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class RunLinuxCommand {
public static void main(String[] args) {
try {
// 执行Linux命令
Process process = Runtime.getRuntime().exec("ls -l");
// 获取命令输出的输入流
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// 读取命令输出
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完成
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}使用ProcessBuilder类执行Linux命令的步骤:
ProcessBuilder对象,并传入Linux命令及参数。ProcessBuilder对象的start()方法启动一个新的进程执行命令,并返回表示该进程的Process对象。Process对象的getInputStream()方法获取命令执行结果的输入流,通过读取输入流获取命令输出。Process对象的waitFor()方法等待命令执行完成。下面是一个示例代码,演示了如何使用ProcessBuilder类执行Linux命令并获取命令输出:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class RunLinuxCommand {
public static void main(String[] args) {
try {
// 创建ProcessBuilder对象,并传入Linux命令及参数
ProcessBuilder processBuilder = new ProcessBuilder("ls", "-l");
// 启动进程执行命令
Process process = processBuilder.start();
// 获取命令输出的输入流
InputStream inputStream = process.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
// 读取命令输出
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
// 等待命令执行完成
process.waitFor();
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}
}
}以上代码示例演示了如何执行ls -l命令并打印命令输出。实际使用时,可以根据需求修改命令及参数。