JAVA 调用LINUX命令类

Linux下C++调用Java简单实例(jni) 1. Java端,假设工作目录为/home 1)  z 阅读详情
这个是我写的系统采集类实现了CPU个数,CPU频率,内存信息,磁盘信息,CPU利用率,内存利用率,磁盘利用率,系统启动时间的获得
  1. /*
  2.  * To change this template, choose Tools | Templates
  3.  * and open the template in the editor.
  4.  */
  5. package com.fenghuo.jsnmp.logic.task;
  6. import java.io.*;
  7. import java.util.StringTokenizer;
  8. /**
  9.  * 用于执行linux命令 
  10.  * @author huangxf
  11.  *
  12.  */
  13. public class LinuxExec {
  14.     /**
  15.      * 获取cpu使用情况
  16.      * @return
  17.      * @throws Exception
  18.      */
  19.     public double getCpuUsage() throws Exception {
  20.         double cpuUsed = 0;
  21.         Runtime rt = Runtime.getRuntime();
  22.         Process p = rt.exec("top -b -n 1");// 调用系统的“top"命令
  23.         BufferedReader in = null;
  24.         try {
  25.             in = new BufferedReader(new InputStreamReader(p.getInputStream()));
  26.             String str = null;
  27.             String[] strArray = null;
  28.             while ((str = in.readLine()) != null) {
  29.                 int m = 0;
  30.                 if (str.indexOf(" R ") != -1) {// 只分析正在运行的进程,top进程本身除外 &&
  31.                     strArray = str.split(" ");
  32.                     for (String tmp : strArray) {
  33.                         if (tmp.trim().length() == 0) {
  34.                             continue;
  35.                         }
  36.                         if (++m == 9) {// 第9列为CPU的使用百分比(RedHat
  37.                             cpuUsed += Double.parseDouble(tmp);
  38.                         }
  39.                     }
  40.                 }
  41.             }
  42.         } catch (Exception e) {
  43.             e.printStackTrace();
  44.         } finally {
  45.             in.close();
  46.         }
  47.         return cpuUsed;
  48.     }
  49.     /**
  50.      * 内存监控
  51.      * @return
  52.      * @throws Exception
  53.      */
  54.     public double getMemUsage() throws Exception {
  55.         double menUsed = 0;
  56.         Runtime rt = Runtime.getRuntime();
  57.         Process p = rt.exec("top -b -n 1");// 调用系统的“top"命令
  58.         BufferedReader in = null;
  59.         try {
  60.             in = new BufferedReader(new InputStreamReader(p.getInputStream()));
  61.             String str = null;
  62.             String[] strArray = null;
  63.             while ((str = in.readLine()) != null) {
  64.                 int m = 0;
  65.                 if (str.indexOf(" R ") != -1) {// 只分析正在运行的进程,top进程本身除外 &&
  66.                     // 
  67.                     // System.out.println("------------------3-----------------");
  68.                     strArray = str.split(" ");
  69.                     for (String tmp : strArray) {
  70.                         if (tmp.trim().length() == 0) {
  71.                             continue;
  72.                         }
  73.                         if (++m == 10) {
  74.                             // 9)--第10列为mem的使用百分比(RedHat 9)
  75.                             menUsed += Double.parseDouble(tmp);
  76.                         }
  77.                     }
  78.                 }
  79.             }
  80.         } catch (Exception e) {
  81.             e.printStackTrace();
  82.         } finally {
  83.             in.close();
  84.         }
  85.         return menUsed;
  86.     }
  87.     /**
  88.      * 获取磁盘空间大小
  89.      * 
  90.      * @return
  91.      * @throws Exception
  92.      */
  93.     public double getDeskUsage() throws Exception {
  94.         double totalHD = 0;
  95.         double usedHD = 0;
  96.         Runtime rt = Runtime.getRuntime();
  97.         Process p = rt.exec("df -hl");//df -hl 查看硬盘空间
  98.         BufferedReader in = null;
  99.         try {
  100.             in = new BufferedReader(new InputStreamReader(p.getInputStream()));
  101.             String str = null;
  102.             String[] strArray = null;
  103.             while ((str = in.readLine()) != null) {
  104.                 int m = 0;
  105.                 strArray = str.split(" ");
  106.                 for (String tmp : strArray) {
  107.                     if (tmp.trim().length() == 0) {
  108.                         continue;
  109.                     }
  110.                     ++m;
  111. //          System.out.println("----tmp----" + tmp);
  112.                     if (tmp.indexOf("G") != -1) {
  113.                         if (m == 2) {
  114. //                          System.out.println("---G----" + tmp);
  115.                             if (!tmp.equals("") && !tmp.equals("0")) {
  116.                                 totalHD += Double.parseDouble(tmp.substring(0, tmp.length() - 1)) * 1024;
  117.                             }
  118.                         }
  119.                         if (m == 3) {
  120. //                          System.out.println("---G----" + tmp);
  121.                             if (!tmp.equals("none") && !tmp.equals("0")) {
  122.                                 usedHD += Double.parseDouble(tmp.substring(
  123.                                         0, tmp.length() - 1)) * 1024;
  124.                             }
  125.                         }
  126.                     }
  127.                     if (tmp.indexOf("M") != -1) {
  128.                         if (m == 2) {
  129. //                          System.out.println("---M---" + tmp);
  130.                             if (!tmp.equals("") && !tmp.equals("0")) {
  131.                                 totalHD += Double.parseDouble(tmp.substring(0, tmp.length() - 1));
  132.                             }
  133.                         }
  134.                         if (m == 3) {
  135. //                          System.out.println("---M---" + tmp);
  136.                             if (!tmp.equals("none") && !tmp.equals("0")) {
  137.                                 usedHD += Double.parseDouble(tmp.substring(
  138.                                         0, tmp.length() - 1));
  139.                             // System.out.println("----3----" + usedHD);
  140.                             }
  141.                         }
  142.                     }
  143.                 }
  144.             }
  145.         } catch (Exception e) {
  146.             e.printStackTrace();
  147.         } finally {
  148.             in.close();
  149.         }
  150.         return (usedHD / totalHD) * 100;
  151.     }
  152.     /**
  153.      * 获得CPU的个数
  154.      * @return
  155.      * @throws java.lang.Exception
  156.      */
  157.     public int getIntCpuNum() throws Exception {
  158.         int rs = 0;
  159.         Runtime rt = Runtime.getRuntime();
  160. //        Process p = rt.exec("cat /proc/cpuinfo | grep processor | wc -l");//获得CPU个数
  161.         Process p = rt.exec("cat /proc/cpuinfo");//获得CPU个数
  162.         BufferedReader in = null;
  163.         try {
  164.             in = new BufferedReader(new InputStreamReader(p.getInputStream()));
  165.             String str = null;
  166.             String[] strarr = null;
  167.             while ((str = in.readLine()) != null) {
  168.                 strarr = str.split(":");
  169.                 if (strarr[0].trim().equals("processor")) {
  170.                     rs = Integer.valueOf(strarr[1].trim())+1;
  171.                 }
  172.             }
  173. //            String str = in.readLine();
  174. //            System.out.println("============================================");
  175. //            System.out.println(str);
  176. //            str = str.trim();
  177. //            System.out.println(str);
  178. //            System.out.println("============================================");
  179. //            rs = Integer.valueOf(str);
  180.         } catch (Exception e) {
  181.             e.printStackTrace();
  182.         } finally {
  183.             in.close();
  184.         }
  185.         return rs;
  186.     }
  187.     /**
  188.      * 获得内存的大小
  189.      * @return
  190.      * @throws java.lang.Exception
  191.      */
  192.     public int getIntMemMax() throws Exception {
  193.         int rs = 0;
  194.         Runtime rt = Runtime.getRuntime();
  195. //        Process p = rt.exec("cat /proc/meminfo|grep -i /"^memtotal/"|cut -d/":/" -f2|cut -d/"k/" -f1");//获得内存大小
  196.         Process p = rt.exec("cat /proc/meminfo");//获得内存大小
  197.         BufferedReader in = null;
  198.         try {
  199.             in = new BufferedReader(new InputStreamReader(p.getInputStream()));
  200.             int[] result = new int[4];
  201.             String str = null;
  202.             StringTokenizer token = null;
  203.             while ((str = in.readLine()) != null) {
  204.                 token = new StringTokenizer(str);
  205.                 if (!token.hasMoreTokens()) {
  206.                     continue;
  207.                 }
  208.                 str = token.nextToken();
  209.                 if (!token.hasMoreTokens()) {
  210.                     continue;
  211.                 }
  212.                 if (str.equalsIgnoreCase("MemTotal:")) {
  213.                     result[0] = Integer.parseInt(token.nextToken());
  214.                     rs = result[0];
  215.                 } else if (str.equalsIgnoreCase("MemFree:")) {
  216.                     result[1] = Integer.parseInt(token.nextToken());
  217.                 } else if (str.equalsIgnoreCase("SwapTotal:")) {
  218.                     result[2] = Integer.parseInt(token.nextToken());
  219.                 } else if (str.equalsIgnoreCase("SwapFree:")) {
  220.                     result[3] = Integer.parseInt(token.nextToken());
  221.                 }
  222.             }
  223.         } catch (Exception e) {
  224.             e.printStackTrace();
  225.         } finally {
  226.             in.close();
  227.         }
  228.         return rs / 1000;
  229.     }
  230.     /**
  231.      * 获得的CPUHMZ
  232.      * @return
  233.      * @throws java.lang.Exception
  234.      */
  235.     public int getIntCpuHMZ() throws Exception {
  236.         int cpuhmz = 0;
  237.         Runtime rt = Runtime.getRuntime();
  238.         Process p = rt.exec("cat /proc/cpuinfo ");//读CPU信息文件
  239.         BufferedReader in = null;
  240.         try {
  241.             in = new BufferedReader(new InputStreamReader(p.getInputStream()));
  242.             String str = null;
  243.             String[] strarr = null;
  244.             while ((str = in.readLine()) != null) {
  245.                 strarr = str.split(":");
  246.                 if (strarr.length > 0) {
  247.                     if (strarr[0].trim().equals("cpu MHz")) {
  248.                         cpuhmz = Double.valueOf(strarr[1].trim()).intValue();
  249.                     }
  250.                 }
  251.             }
  252.         } catch (Exception e) {
  253.             e.printStackTrace();
  254.         } finally {
  255.             in.close();
  256.         }
  257.         return cpuhmz;
  258.     }
  259.     /**
  260.      * 获取磁盘空间大小(总)
  261.      * 
  262.      * @return
  263.      * @throws Exception
  264.      */
  265.     public int getDeskAll() throws Exception {
  266.         double totalHD = 0;
  267.         Runtime rt = Runtime.getRuntime();
  268.         Process p = rt.exec("df -hl");//df -hl 查看硬盘空间
  269.         BufferedReader in = null;
  270.         try {
  271.             in = new BufferedReader(new InputStreamReader(p.getInputStream()));
  272.             String str = null;
  273.             String[] strArray = null;
  274.             while ((str = in.readLine()) != null) {
  275.                 int m = 0;
  276.                 strArray = str.split(" ");
  277.                 for (String tmp : strArray) {
  278.                     if (tmp.trim().length() == 0) {
  279.                         continue;
  280.                     }
  281.                     ++m;
  282. //          System.out.println("----tmp----" + tmp);
  283.                     if (tmp.indexOf("G") != -1) {
  284.                         if (m == 2) {
  285. //              System.out.println("---G----" + tmp);
  286.                             if (!tmp.equals("") && !tmp.equals("0")) {
  287.                                 totalHD += Double.parseDouble(tmp.substring(0, tmp.length() - 1)) * 1024;
  288.                             }
  289.                         }
  290.                         if (m == 3) {
  291. //              System.out.println("---G----" + tmp);
  292.                         }
  293.                     }
  294.                     if (tmp.indexOf("M") != -1) {
  295.                         if (m == 2) {
  296. //              System.out.println("---M---" + tmp);
  297.                             if (!tmp.equals("") && !tmp.equals("0")) {
  298.                                 totalHD += Double.parseDouble(tmp.substring(0, tmp.length() - 1));
  299.                             }
  300.                         }
  301.                         if (m == 3) {
  302. //              System.out.println("---M---" + tmp);
  303.                         }
  304.                     }
  305.                 }
  306.             }
  307.         } catch (Exception e) {
  308.             e.printStackTrace();
  309.         } finally {
  310.             in.close();
  311.         }
  312.         Double d = new Double(totalHD);
  313.         return d.intValue();
  314.     }
  315.     /**
  316.      * 查询系统时间
  317.      * @return
  318.      * @throws java.io.IOException
  319.      */
  320.     public long getSysStartTime() throws IOException, InterruptedException {
  321.         long statime = 0;
  322.         Runtime rt = Runtime.getRuntime();
  323.         Process p = rt.exec("uptime");//查看系统启动时间
  324. //        System.out.println(p.exitValue());
  325. //        p.waitFor();
  326.         BufferedReader in = null;
  327.         try {
  328.             in = new BufferedReader(new InputStreamReader(p.getInputStream()));
  329.             String str = in.readLine();
  330.             String[] strs = str.split(",");
  331.             String[] rss = strs[1].trim().split(" ");
  332.             if (rss.length == 1) {
  333.                 String[] times = rss[0].split(":");
  334.                 int hour = Integer.valueOf(times[0]);
  335.                 int min = Integer.valueOf(times[1]);
  336.                 statime = (hour * 60 + min) * 60 * 1000;
  337.             } else if (rss.length == 2) {
  338.                 int min = Integer.valueOf(rss[0]);
  339.                 statime = min * 60 * 1000;
  340.             }
  341.         } catch (Exception e) {
  342.             e.printStackTrace();
  343.         } finally {
  344.             in.close();
  345.         }
  346.         return statime;
  347.     }
  348.     public void shutdownh() throws IOException {
  349.         Runtime rt = Runtime.getRuntime();
  350.         Process p = rt.exec("shutdown -h");
  351.     }
  352.     public void shutdownr() throws IOException {
  353.         Runtime rt = Runtime.getRuntime();
  354.         Process p = rt.exec("shutdown -r");
  355.     }
  356.     public static void main(String[] args) throws Exception {
  357.         LinuxExec cpu = new LinuxExec();
  358.         System.out.println("---------------cpu used:" + cpu.getCpuUsage() + "%");
  359.         System.out.println("---------------mem used:" + cpu.getMemUsage() + "%");
  360.         System.out.println("---------------HD used:" + cpu.getDeskUsage() + "%");
  361.         System.out.println("---------------CPU NUM:" + cpu.getIntCpuNum());
  362.         System.out.println("---------------CPU HMZ:" + cpu.getIntCpuHMZ());
  363.         System.out.println("---------------MEN MAX:" + cpu.getIntMemMax());
  364.         System.out.println("---------------DISK MAX:" + cpu.getDeskAll());
  365.         System.out.println("---------------STARTTIME:" + cpu.getSysStartTime());
  366.         System.out.println("------------jvm监控----------------------");
  367.         Runtime lRuntime = Runtime.getRuntime();
  368.         System.out.println("--------------Free Momery:" + lRuntime.freeMemory() + "K");
  369.         System.out.println("--------------Max Momery:" + lRuntime.maxMemory() + "K");
  370.         System.out.println("--------------Total Momery:" + lRuntime.totalMemory() + "K");
  371.         System.out.println("---------------Available Processors :" + lRuntime.availableProcessors());
  372.     }
  373. }
Java调用Linux命令的两种方式示例 本文介绍了两种常见的方式来实现Java调用Linux命令:使用Runtime类和ProcessBuilder类。通过这些方式,你可以在Java程序中执行各种Linux命令,并处理命令的输出结果。请注意,在使用这些方式时,要谨慎处理命令的参数和输出流,以避免潜在的安全问题和资源泄漏。上述代码通过执行Linux的ls命令,获取命令执行的输出结果,并将结果打印出来。Java中的Runtime类提供了执行系统命令的方法,可以使用它来执行Linux命令。方式二:使用ProcessBuilder类。 阅读详情

相关推荐

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块第二块糖果......然后就是这样的不停地回溯,试探,直到把整棵树遍历一遍,并且记录所有的满足条件的组合。先放一下我的代码,我的代码超时啦救命!

weixin_74331419的博客 730

java程序用调用linux命令执行,可以直接执行linux命令

java程序用调用linux命令执行,可以直接执行linux命令

qq_43567055的博客 2865

uniCloud云存储进阶:七牛云扩展存储从开通、绑定域名到批量上传的完整实战

本文详细介绍了uniCloud云存储进阶实践,重点讲解如何通过七牛云扩展存储实现从开通、绑定域名到批量上传的完整流程。内容涵盖成本优势分析、域名备案方案、SSL证书配置、多文件并发上传控制等实战技巧,并提供可直接复用的代码示例,帮助开发者高效构建内容社区类应用。

weixin_26985923的博客 468

java调用执行linux命令

java调用执行当前linux环境命令。执行远程Linux环境命令。

m0_61366135的博客 1945

华为防火墙NAT避坑指南:当双ISP出口遇到服务器发布,这些细节不注意会翻车

本文深入解析华为防火墙在双ISP出口环境下服务器发布的实战配置,重点探讨no-reverse参数对Server-Map表的影响、源进源出功能的实现及线路切换时的会话保持问题。通过策略路由和智能选路技术,确保HTTP/FTP服务在多运营商链路中的高可用性,避免路径不对称和NAT映射冲突等常见陷阱。

weixin_30897233的博客 549

5G NR PDCCH实战解析:从DCI格式到CORESET配置的完整指南

本文深入解析5G NR PDCCH的实战配置,涵盖DCI格式选择、CORESET配置及Search Space优化等关键内容。基于3GPP R16标准,提供现网部署中的典型问题解决方案,如覆盖边缘失步、多用户调度冲突等,帮助提升控制信令传输效率。特别针对5G NR PDCCH的灵活资源分配和自适应编码机制进行详细探讨。

weixin_29231263的博客 498

Java应用程序中执行Linux指令(无第三方jar包)

在一些Java应用程序中,需要执行一些Linux系统命令,例如服务器资源查看、文件操作等。为了实现这样的需求,本文将介绍如何在Java应用程序中执行Linux指令,并提供一些实用的示例。此外,本文不使用第三方jar包,完全基于Java自带的API库。

b___w的博客 6222

电机控制::软件架构::微型软件架构

所谓软件架构就是软件分层:HAL库,嵌入式操作系统,中间件,应用层。大型项目可参考借鉴ROS/PX4/Apollo/FMT等无人机、机器人、无人驾驶等开源项目;电机控制大型为AUTOSAR架构,小型跑裸机参考 前后台系统 或 微型实时操作系统对模块管理的思想。基本原理还是参照大型项目的架构来的,只是大部分层与块都相对简单,也没有操作系统这一层。硬件架构了解不同芯片组合及其各自的特点。1.FPGA+;2.架构;3.TC387+AUTOSAR架构,车规级,汽车领域常用。

one__leaf的博客 1695

Java程序执行Linux命令

java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例, 该实例可用来控制进程并获得相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、 检查进程的退出状态以及销...

weixin_30674525的博客 1994

HC32F460 FPU实战:从零开启硬件浮点加速

本文详细介绍了如何在HC32F460开发板上启用和优化FPU(浮点运算单元),以显著提升硬件浮点运算性能。从工程配置、关键代码修改到实战优化技巧,全面解析FPU加速的实现方法,并分享常见问题的解决方案,帮助开发者避免常见陷阱,充分发挥HC32F460的硬件潜力。

weixin_42620340的博客 348

基于STM32的DS1302电子时钟电路与程序设计

这个示例代码中,我们使用DS1302_GetTime函数从DS1302芯片获取当前时间,并使用DS1302_GetDate函数获取当前日期。在本文中,我们将介绍如何使用STM32微控制器和DS1302实时时钟芯片来构建一个基于STM32的DS1302电子时钟,并提供相应的程序设计。请注意,以上示例代码仅供参考,具体的实现细节可能会根据使用的开发环境和硬件组件有所差异。在实际应用中,你可能需要根据自己的需求进行适当的调整和修改。为了完整实现电子时钟的功能,你还可以添加其他功能,例如闹钟设置、温度显示等。

UbiSqlserver的博客 1324

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

Jason_Honey2的博客 287

飞牛fnNAS虚拟机标准安装

飞牛NAS是一款基于Debian开发的国产免费NAS系统,支持x86架构设备,可将闲置硬件改造为NAS服务器。系统安装简便,支持多种存储模式与硬盘休眠功能,具备智能影视管理、照片备份等实用功能,并提供多种远程访问方式。飞牛NAS还支持Docker扩展,目前已承诺永久免费。文章详细介绍了在VMware虚拟机中安装飞牛NAS的步骤,包括下载镜像、创建虚拟机、初始化设置等过程,并展示了创建共享文件夹等基本操作,帮助用户快速上手这款功能强大的免费NAS系统。

dgnankai的专栏 3257

linux下的java调用ffmpeg进行视频转码

linux下的java调用ffmpeg进行视频转码 上一篇文章介绍了如何在linux下安装ffmpeg,在安装完ffmpeg之后,遇到的问题就是如何在java中调用linux的ffmpeg命令进行视频转码和截图,话不多说,直接上代码! 这是视频上传转码的方法 public String uploadVideo() { User user = (User) session.get

wmt1432的博客 8894

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...

weixin_33212915的博客 4178

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'调...

weixin_42524762的博客 1222

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

JAVA直接调用linux命令,Java如何调用Linux命令

(方式一)适合Java调用本地的Liunx无须任何依赖包/**** 第一种方法,仅仅执行命令无须关注返回结果* @throws Exception*/public static void exeCmd() throws Exception{Runtime r = Runtime.getRuntime();//执行linux命令,不关心返回结果,此处,可以执行一个shell脚本,或者python脚本...

weixin_40003451的博客 979

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...

tsh123321的博客 2841

linux下java调用浏览器

最近在做一个项目,是在debian的linux环境下用java开发的,因为系统没有安装图形界面,于是采用调用浏览器显示特定网页来实现的方案。        现在可以找到的java调用linux浏览器的方法主要有3种,        第一种是调用桌面默认浏览器的办法,如下所示:     public static void openURL(String sURL) { try {

Anders的技术成长专栏 4592

java如何调用linux命令_Java如何调用Linux命令

[size=medium](方式一)适合Java调用本地的Liunx无须任何依赖包[/size]/**** 第一种方法,仅仅执行命令无须关注返回结果* @throws Exception*/public static void exeCmd() throws Exception{Runtime r = Runtime.getRuntime();//执行linux命令,不关心返回结果,此处,可以执行...

weixin_26729841的博客 855

Java调用linux终端命令

因为要实现用户注册成功后,创建gluster volume,所以就先看了一下,如何使用java调用linux终端命令 示例源码如下: import java.io.InputStreamReader; import java.io.LineNumberReader;

aidayei的专栏 6555

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/...

weixin_42300175的博客 1741

linux调用java的命令,Java如何调用Linux命令

(方式一)适合Java调用本地的Liunx无须任何依赖包/**** 第一种方法,仅仅执行命令无须关注返回结果* @throws Exception*/public static void exeCmd() throws Exception{Runtime r = Runtime.getRuntime();//执行linux命令,不关心返回结果,此处,可以执行一个shell脚本,或者python脚本...

weixin_35281210的博客 479

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/...

高自强的博客 7259

Linux 环境下java 调用SO

这几天一直在弄linux环境下java调用so文件的问题,网上例子也很多,不过有些细节写的不是很全面,导致我需要参考多方面的实例才能得出结果,现在整理个完整细节版 1 、编写java代码 package net.lu;  public class HelloJNI {  static {  System.loadLibrary("HelloJNI");  }  public na

lujiancs的专栏 1万+
上一篇: java 获得CPU 内存信息
下一篇: Axis2 Eclipse 插件生成代码产生InvocationTargetException异常处理
ocelight
博客等级 码龄19年 56粉丝 26原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值