- /*
- * To change this template, choose Tools | Templates
- * and open the template in the editor.
- */
- package com.fenghuo.jsnmp.logic.task;
- import java.io.*;
- import java.util.StringTokenizer;
- /**
- * 用于执行linux命令
- * @author huangxf
- *
- */
- public class LinuxExec {
- /**
- * 获取cpu使用情况
- * @return
- * @throws Exception
- */
- public double getCpuUsage() throws Exception {
- double cpuUsed = 0;
- Runtime rt = Runtime.getRuntime();
- Process p = rt.exec("top -b -n 1");// 调用系统的“top"命令
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String str = null;
- String[] strArray = null;
- while ((str = in.readLine()) != null) {
- int m = 0;
- if (str.indexOf(" R ") != -1) {// 只分析正在运行的进程,top进程本身除外 &&
- strArray = str.split(" ");
- for (String tmp : strArray) {
- if (tmp.trim().length() == 0) {
- continue;
- }
- if (++m == 9) {// 第9列为CPU的使用百分比(RedHat
- cpuUsed += Double.parseDouble(tmp);
- }
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- in.close();
- }
- return cpuUsed;
- }
- /**
- * 内存监控
- * @return
- * @throws Exception
- */
- public double getMemUsage() throws Exception {
- double menUsed = 0;
- Runtime rt = Runtime.getRuntime();
- Process p = rt.exec("top -b -n 1");// 调用系统的“top"命令
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String str = null;
- String[] strArray = null;
- while ((str = in.readLine()) != null) {
- int m = 0;
- if (str.indexOf(" R ") != -1) {// 只分析正在运行的进程,top进程本身除外 &&
- //
- // System.out.println("------------------3-----------------");
- strArray = str.split(" ");
- for (String tmp : strArray) {
- if (tmp.trim().length() == 0) {
- continue;
- }
- if (++m == 10) {
- // 9)--第10列为mem的使用百分比(RedHat 9)
- menUsed += Double.parseDouble(tmp);
- }
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- in.close();
- }
- return menUsed;
- }
- /**
- * 获取磁盘空间大小
- *
- * @return
- * @throws Exception
- */
- public double getDeskUsage() throws Exception {
- double totalHD = 0;
- double usedHD = 0;
- Runtime rt = Runtime.getRuntime();
- Process p = rt.exec("df -hl");//df -hl 查看硬盘空间
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String str = null;
- String[] strArray = null;
- while ((str = in.readLine()) != null) {
- int m = 0;
- strArray = str.split(" ");
- for (String tmp : strArray) {
- if (tmp.trim().length() == 0) {
- continue;
- }
- ++m;
- // System.out.println("----tmp----" + tmp);
- if (tmp.indexOf("G") != -1) {
- if (m == 2) {
- // System.out.println("---G----" + tmp);
- if (!tmp.equals("") && !tmp.equals("0")) {
- totalHD += Double.parseDouble(tmp.substring(0, tmp.length() - 1)) * 1024;
- }
- }
- if (m == 3) {
- // System.out.println("---G----" + tmp);
- if (!tmp.equals("none") && !tmp.equals("0")) {
- usedHD += Double.parseDouble(tmp.substring(
- 0, tmp.length() - 1)) * 1024;
- }
- }
- }
- if (tmp.indexOf("M") != -1) {
- if (m == 2) {
- // System.out.println("---M---" + tmp);
- if (!tmp.equals("") && !tmp.equals("0")) {
- totalHD += Double.parseDouble(tmp.substring(0, tmp.length() - 1));
- }
- }
- if (m == 3) {
- // System.out.println("---M---" + tmp);
- if (!tmp.equals("none") && !tmp.equals("0")) {
- usedHD += Double.parseDouble(tmp.substring(
- 0, tmp.length() - 1));
- // System.out.println("----3----" + usedHD);
- }
- }
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- in.close();
- }
- return (usedHD / totalHD) * 100;
- }
- /**
- * 获得CPU的个数
- * @return
- * @throws java.lang.Exception
- */
- public int getIntCpuNum() throws Exception {
- int rs = 0;
- Runtime rt = Runtime.getRuntime();
- // Process p = rt.exec("cat /proc/cpuinfo | grep processor | wc -l");//获得CPU个数
- Process p = rt.exec("cat /proc/cpuinfo");//获得CPU个数
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String str = null;
- String[] strarr = null;
- while ((str = in.readLine()) != null) {
- strarr = str.split(":");
- if (strarr[0].trim().equals("processor")) {
- rs = Integer.valueOf(strarr[1].trim())+1;
- }
- }
- // String str = in.readLine();
- // System.out.println("============================================");
- // System.out.println(str);
- // str = str.trim();
- // System.out.println(str);
- // System.out.println("============================================");
- // rs = Integer.valueOf(str);
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- in.close();
- }
- return rs;
- }
- /**
- * 获得内存的大小
- * @return
- * @throws java.lang.Exception
- */
- public int getIntMemMax() throws Exception {
- int rs = 0;
- Runtime rt = Runtime.getRuntime();
- // Process p = rt.exec("cat /proc/meminfo|grep -i /"^memtotal/"|cut -d/":/" -f2|cut -d/"k/" -f1");//获得内存大小
- Process p = rt.exec("cat /proc/meminfo");//获得内存大小
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- int[] result = new int[4];
- String str = null;
- StringTokenizer token = null;
- while ((str = in.readLine()) != null) {
- token = new StringTokenizer(str);
- if (!token.hasMoreTokens()) {
- continue;
- }
- str = token.nextToken();
- if (!token.hasMoreTokens()) {
- continue;
- }
- if (str.equalsIgnoreCase("MemTotal:")) {
- result[0] = Integer.parseInt(token.nextToken());
- rs = result[0];
- } else if (str.equalsIgnoreCase("MemFree:")) {
- result[1] = Integer.parseInt(token.nextToken());
- } else if (str.equalsIgnoreCase("SwapTotal:")) {
- result[2] = Integer.parseInt(token.nextToken());
- } else if (str.equalsIgnoreCase("SwapFree:")) {
- result[3] = Integer.parseInt(token.nextToken());
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- in.close();
- }
- return rs / 1000;
- }
- /**
- * 获得的CPUHMZ
- * @return
- * @throws java.lang.Exception
- */
- public int getIntCpuHMZ() throws Exception {
- int cpuhmz = 0;
- Runtime rt = Runtime.getRuntime();
- Process p = rt.exec("cat /proc/cpuinfo ");//读CPU信息文件
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String str = null;
- String[] strarr = null;
- while ((str = in.readLine()) != null) {
- strarr = str.split(":");
- if (strarr.length > 0) {
- if (strarr[0].trim().equals("cpu MHz")) {
- cpuhmz = Double.valueOf(strarr[1].trim()).intValue();
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- in.close();
- }
- return cpuhmz;
- }
- /**
- * 获取磁盘空间大小(总)
- *
- * @return
- * @throws Exception
- */
- public int getDeskAll() throws Exception {
- double totalHD = 0;
- Runtime rt = Runtime.getRuntime();
- Process p = rt.exec("df -hl");//df -hl 查看硬盘空间
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String str = null;
- String[] strArray = null;
- while ((str = in.readLine()) != null) {
- int m = 0;
- strArray = str.split(" ");
- for (String tmp : strArray) {
- if (tmp.trim().length() == 0) {
- continue;
- }
- ++m;
- // System.out.println("----tmp----" + tmp);
- if (tmp.indexOf("G") != -1) {
- if (m == 2) {
- // System.out.println("---G----" + tmp);
- if (!tmp.equals("") && !tmp.equals("0")) {
- totalHD += Double.parseDouble(tmp.substring(0, tmp.length() - 1)) * 1024;
- }
- }
- if (m == 3) {
- // System.out.println("---G----" + tmp);
- }
- }
- if (tmp.indexOf("M") != -1) {
- if (m == 2) {
- // System.out.println("---M---" + tmp);
- if (!tmp.equals("") && !tmp.equals("0")) {
- totalHD += Double.parseDouble(tmp.substring(0, tmp.length() - 1));
- }
- }
- if (m == 3) {
- // System.out.println("---M---" + tmp);
- }
- }
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- in.close();
- }
- Double d = new Double(totalHD);
- return d.intValue();
- }
- /**
- * 查询系统时间
- * @return
- * @throws java.io.IOException
- */
- public long getSysStartTime() throws IOException, InterruptedException {
- long statime = 0;
- Runtime rt = Runtime.getRuntime();
- Process p = rt.exec("uptime");//查看系统启动时间
- // System.out.println(p.exitValue());
- // p.waitFor();
- BufferedReader in = null;
- try {
- in = new BufferedReader(new InputStreamReader(p.getInputStream()));
- String str = in.readLine();
- String[] strs = str.split(",");
- String[] rss = strs[1].trim().split(" ");
- if (rss.length == 1) {
- String[] times = rss[0].split(":");
- int hour = Integer.valueOf(times[0]);
- int min = Integer.valueOf(times[1]);
- statime = (hour * 60 + min) * 60 * 1000;
- } else if (rss.length == 2) {
- int min = Integer.valueOf(rss[0]);
- statime = min * 60 * 1000;
- }
- } catch (Exception e) {
- e.printStackTrace();
- } finally {
- in.close();
- }
- return statime;
- }
- public void shutdownh() throws IOException {
- Runtime rt = Runtime.getRuntime();
- Process p = rt.exec("shutdown -h");
- }
- public void shutdownr() throws IOException {
- Runtime rt = Runtime.getRuntime();
- Process p = rt.exec("shutdown -r");
- }
- public static void main(String[] args) throws Exception {
- LinuxExec cpu = new LinuxExec();
- System.out.println("---------------cpu used:" + cpu.getCpuUsage() + "%");
- System.out.println("---------------mem used:" + cpu.getMemUsage() + "%");
- System.out.println("---------------HD used:" + cpu.getDeskUsage() + "%");
- System.out.println("---------------CPU NUM:" + cpu.getIntCpuNum());
- System.out.println("---------------CPU HMZ:" + cpu.getIntCpuHMZ());
- System.out.println("---------------MEN MAX:" + cpu.getIntMemMax());
- System.out.println("---------------DISK MAX:" + cpu.getDeskAll());
- System.out.println("---------------STARTTIME:" + cpu.getSysStartTime());
- System.out.println("------------jvm监控----------------------");
- Runtime lRuntime = Runtime.getRuntime();
- System.out.println("--------------Free Momery:" + lRuntime.freeMemory() + "K");
- System.out.println("--------------Max Momery:" + lRuntime.maxMemory() + "K");
- System.out.println("--------------Total Momery:" + lRuntime.totalMemory() + "K");
- System.out.println("---------------Available Processors :" + lRuntime.availableProcessors());
- }
- }
相关推荐
c语言【分糖果】2023蓝桥杯4124(枚举,递归,dfs)
但是这是不符合我们糖果刚好分完的条件的,我们应该往回退到上一层,也就是孩子6这层,然后j+1=3,孩子7分到3个第二种糖果,这也不符合我们糖果刚好分完的条件,然后就会再次回退到孩子6这里,然后j+1=4,让我们的孩子7获得5块第二种糖果,然后还是不符合糖果刚分完的条件,于是再一次退回到孩子6这里,然后就会有外循环i+1=1,j=1,孩子7分到1块第一种糖果1块第二块糖果......然后就是这样的不停地回溯,试探,直到把整棵树遍历一遍,并且记录所有的满足条件的组合。先放一下我的代码,我的代码超时啦救命!
java程序用调用linux命令执行,可以直接执行linux命令
java程序用调用linux命令执行,可以直接执行linux命令
uniCloud云存储进阶:七牛云扩展存储从开通、绑定域名到批量上传的完整实战
本文详细介绍了uniCloud云存储进阶实践,重点讲解如何通过七牛云扩展存储实现从开通、绑定域名到批量上传的完整流程。内容涵盖成本优势分析、域名备案方案、SSL证书配置、多文件并发上传控制等实战技巧,并提供可直接复用的代码示例,帮助开发者高效构建内容社区类应用。
java调用执行linux命令
java调用执行当前linux环境命令。执行远程Linux环境命令。
华为防火墙NAT避坑指南:当双ISP出口遇到服务器发布,这些细节不注意会翻车
本文深入解析华为防火墙在双ISP出口环境下服务器发布的实战配置,重点探讨no-reverse参数对Server-Map表的影响、源进源出功能的实现及线路切换时的会话保持问题。通过策略路由和智能选路技术,确保HTTP/FTP服务在多运营商链路中的高可用性,避免路径不对称和NAT映射冲突等常见陷阱。
5G NR PDCCH实战解析:从DCI格式到CORESET配置的完整指南
本文深入解析5G NR PDCCH的实战配置,涵盖DCI格式选择、CORESET配置及Search Space优化等关键内容。基于3GPP R16标准,提供现网部署中的典型问题解决方案,如覆盖边缘失步、多用户调度冲突等,帮助提升控制信令传输效率。特别针对5G NR PDCCH的灵活资源分配和自适应编码机制进行详细探讨。
Java应用程序中执行Linux指令(无第三方jar包)
在一些Java应用程序中,需要执行一些Linux系统命令,例如服务器资源查看、文件操作等。为了实现这样的需求,本文将介绍如何在Java应用程序中执行Linux指令,并提供一些实用的示例。此外,本文不使用第三方jar包,完全基于Java自带的API库。
电机控制::软件架构::微型软件架构
所谓软件架构就是软件分层:HAL库,嵌入式操作系统,中间件,应用层。大型项目可参考借鉴ROS/PX4/Apollo/FMT等无人机、机器人、无人驾驶等开源项目;电机控制大型为AUTOSAR架构,小型跑裸机参考 前后台系统 或 微型实时操作系统对模块管理的思想。基本原理还是参照大型项目的架构来的,只是大部分层与块都相对简单,也没有操作系统这一层。硬件架构了解不同芯片组合及其各自的特点。1.FPGA+;2.架构;3.TC387+AUTOSAR架构,车规级,汽车领域常用。
Java程序执行Linux命令
java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例, 该实例可用来控制进程并获得相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、 检查进程的退出状态以及销...
HC32F460 FPU实战:从零开启硬件浮点加速
本文详细介绍了如何在HC32F460开发板上启用和优化FPU(浮点运算单元),以显著提升硬件浮点运算性能。从工程配置、关键代码修改到实战优化技巧,全面解析FPU加速的实现方法,并分享常见问题的解决方案,帮助开发者避免常见陷阱,充分发挥HC32F460的硬件潜力。
基于STM32的DS1302电子时钟电路与程序设计
这个示例代码中,我们使用DS1302_GetTime函数从DS1302芯片获取当前时间,并使用DS1302_GetDate函数获取当前日期。在本文中,我们将介绍如何使用STM32微控制器和DS1302实时时钟芯片来构建一个基于STM32的DS1302电子时钟,并提供相应的程序设计。请注意,以上示例代码仅供参考,具体的实现细节可能会根据使用的开发环境和硬件组件有所差异。在实际应用中,你可能需要根据自己的需求进行适当的调整和修改。为了完整实现电子时钟的功能,你还可以添加其他功能,例如闹钟设置、温度显示等。
Linux命令类总结
Linux命令类 tail 最常用的tail -f tail -300f shopbase.log #倒数300行并进入实时监听文件写入模式 grep grep forest f.txt #文件查找 grep forest f.txt cpf.txt #多文件查找 grep ‘log’ /home/admin -r -n #目录下查找所有符合关键字的文件 cat f.txt | grep -i shopbase grep ‘shopbase’ /home/admin -r -n --include
飞牛fnNAS虚拟机标准安装
飞牛NAS是一款基于Debian开发的国产免费NAS系统,支持x86架构设备,可将闲置硬件改造为NAS服务器。系统安装简便,支持多种存储模式与硬盘休眠功能,具备智能影视管理、照片备份等实用功能,并提供多种远程访问方式。飞牛NAS还支持Docker扩展,目前已承诺永久免费。文章详细介绍了在VMware虚拟机中安装飞牛NAS的步骤,包括下载镜像、创建虚拟机、初始化设置等过程,并展示了创建共享文件夹等基本操作,帮助用户快速上手这款功能强大的免费NAS系统。
linux下的java调用ffmpeg进行视频转码
linux下的java调用ffmpeg进行视频转码 上一篇文章介绍了如何在linux下安装ffmpeg,在安装完ffmpeg之后,遇到的问题就是如何在java中调用linux的ffmpeg命令进行视频转码和截图,话不多说,直接上代码! 这是视频上传转码的方法 public String uploadVideo() { User user = (User) session.get
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
java如何调用linux命令_java程序中如何调用linux命令
java程序中如何调用linux命令作为一个Java开发人员,有些常用的Linux命令必须掌握。即时平时开发过程中不使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过shell命令。本文为大家分享的就是java程序中怎么调用linux命令。Java调用shellJava语言以其跨平台性和简易性而著称,在Ja...
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
linux java调用python_从java编程调用Linux终端的python脚本
我正在开发一个Java应用程序来检查源文件中的补丁程序(如果有的话)。检测补丁更改的核心逻辑出现在python脚本中补丁.py']和我的Java应用程序与这个Python补丁脚本通信,以检索操作的退出状态。在python脚本可以从here获得在windows中,它运行得很好,但是在Linux环境下。脚本本身不会从Java应用程序调用。我不知道我哪里出错了。在我使用'ProcessBuilder'调...
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
JAVA直接调用linux命令,Java如何调用Linux命令
(方式一)适合Java调用本地的Liunx无须任何依赖包/**** 第一种方法,仅仅执行命令无须关注返回结果* @throws Exception*/public static void exeCmd() throws Exception{Runtime r = Runtime.getRuntime();//执行linux命令,不关心返回结果,此处,可以执行一个shell脚本,或者python脚本...
Linux下java使用JNI调用C++
Linux下java使用JNI调用C++ 1.JNI介绍 JNI即Java Native Interface(Java本地接口),是一个协议,主要作用为:实现Java调用c/c++代码(类库),或者C/C++调用Java代码 2.准备JNI 先用javah,根据.java文件生成.h头文件,然后用C++实现这个接口 2.1先在目录下创建JNI.java文件 内容如下 //JNI.java文件 pu...
linux下java调用浏览器
最近在做一个项目,是在debian的linux环境下用java开发的,因为系统没有安装图形界面,于是采用调用浏览器显示特定网页来实现的方案。 现在可以找到的java调用linux浏览器的方法主要有3种, 第一种是调用桌面默认浏览器的办法,如下所示: public static void openURL(String sURL) { try {
java如何调用linux命令_Java如何调用Linux命令
[size=medium](方式一)适合Java调用本地的Liunx无须任何依赖包[/size]/**** 第一种方法,仅仅执行命令无须关注返回结果* @throws Exception*/public static void exeCmd() throws Exception{Runtime r = Runtime.getRuntime();//执行linux命令,不关心返回结果,此处,可以执行...
Java调用linux终端命令
因为要实现用户注册成功后,创建gluster volume,所以就先看了一下,如何使用java调用linux终端命令 示例源码如下: import java.io.InputStreamReader; import java.io.LineNumberReader;
linux调用java指定方法_linux 调用java main方法
#!/bin/shexport LANG=zh_CNtimestamp=`date +%Y%m%d%H%M`/opt/java6/bin/java -Xms128m -Xmx512m -Dfile.encoding=gbk -classpath /weblogic/mpms_job/WEB-INF/classes:/weblogic/mpms_job/mpms_job.jar:/weblogic/...
linux调用java的命令,Java如何调用Linux命令
(方式一)适合Java调用本地的Liunx无须任何依赖包/**** 第一种方法,仅仅执行命令无须关注返回结果* @throws Exception*/public static void exeCmd() throws Exception{Runtime r = Runtime.getRuntime();//执行linux命令,不关心返回结果,此处,可以执行一个shell脚本,或者python脚本...
Java学习——Java中实现调用Linux命令的一些方法
1 说明 先前的一个项目,之前没来得及整理相关材料,今天准备复试内容,看到这个项目正好借机整理。 2 Process()类与Runtime()类 要实现在Java程序中调用Linux命令或者cmd命令,首先要了解Java的这两个抽象类。 翻看Java API,如下。 2.1 Process()类 Java API(https://docs.oracle.com/javase/9/docs/api/...
Linux 环境下java 调用SO
这几天一直在弄linux环境下java调用so文件的问题,网上例子也很多,不过有些细节写的不是很全面,导致我需要参考多方面的实例才能得出结果,现在整理个完整细节版 1 、编写java代码 package net.lu; public class HelloJNI { static { System.loadLibrary("HelloJNI"); } public na
730



被折叠的 条评论
为什么被折叠?



