全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java Process详解及实例

Runtime

Java可以通过Runtime来调用其他进程,如cmd命令,shell文件的执行等。可以应该该类设置系统时间,执行shell文件。此处记录几个有用应用如下。

设置本地时间

可以调用cmd /c date命令,完成本地时间设置,不过这个命令在win7下可以使用,但是win10需要管理员权限,可能无法设置系统时间。win7下使用Java实现修改本地时间代码如下,需要注意的是waitFor是必须的,否则无法立即生效。

 /**
   * 设置本地日期
   * @param date yyyy-MM-dd格式
   */
  private static void setSystemDate(String date){
    Process process = null;
    String command1 = "cmd /c date "+date;
    System.out.println(command1);
    try {
      process = Runtime.getRuntime().exec(command1);
      //必须等待该进程结束,否则时间设置就无法生效
      process.waitFor();
    } catch (IOException | InterruptedException e) {
      e.printStackTrace();
    }finally{
      if(process!=null){
        process.destroy();
      }
    }
  }

网卡吞吐量计算

可以通过cat /proc/net/dev命令获取网卡信息,两次获取网卡发送和接收数据包的信息,来计算网卡吞吐量。实现如下:

 /**
   * @Purpose:采集网络带宽使用量
   * @param args
   * @return float,网络带宽已使用量
   */
  public static Double getNetworkThoughput() {
     Double curRate = 0.0;
    Runtime r = Runtime.getRuntime();

    // 第一次采集流量数据
    long startTime = System.currentTimeMillis();
    long total1 = calculateThoughout(r);

    // 休眠1秒后,再次收集
    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      e.printStackTrace();
    }

    // 第二次采集流量数据
    long endTime = System.currentTimeMillis();
    long total2 = calculateThoughout(r);

    // 计算该段时间内的吞吐量:单位为Mbps(million bit per second)
    double interval = (endTime-startTime)/1000;
    curRate = (total2-total1)*8/1000000*interval;

    System.out.println("收集网络带宽使用率结束,当前设备的网卡吞吐量为:"+(curRate)+"Mbps.");
    return curRate;
  }

  /**
   * 计算某个时刻网卡的收发数据总量
   * @param runtime
   * @return
   */
  private static long calculateThoughout(Runtime runtime){
    Process process = null;
    String command = "cat /proc/net/dev";
    BufferedReader reader = null;
    String line = null;
    long total = 0;
    try {
      process = runtime.exec(command);
      reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
      while ((line = reader.readLine()) != null) {
        line = line.trim();
        // 考虑多网卡的情况
        if (line.startsWith("eth")) {
          log.debug(line);
          line = line.substring(5).trim();
          String[] temp = line.split("\\s+");
          total+=(Long.parseLong(temp[0].trim()));// Receive
          total+=(Long.parseLong(temp[8].trim()));// Transmit
        }
      }
    } catch (NumberFormatException | IOException e) {
      e.printStackTrace();
    } finally {
      if (reader != null) {
        try {
          reader.close();
        } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }

      if (process != null) {
        process.destroy();
      }
    }
    return total;
  }

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Java  # Process  # Process实例详解  # Java Process中waitFor()的问题详解  # Java超详细讲解多线程中的Process与Thread  # Java中Process类的使用与注意事项说明  # Java Process类的详解及实例代码  # Java获取Process子进程进程ID方法详解  # 网络带宽  # 可以通过  # 的是  # 几个  # 两次  # 时间内  # 希望能  # 可以使用  # 谢谢大家  # 需要注意  # 数据包  # 量为  # 使用量  # 已使  # 量计算  # InterruptedException  # IOException  # printStackTrace  # finally  # catch 


相关文章: 陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  如何在阿里云虚拟主机上快速搭建个人网站?  建站之星在线客服如何快速接入解答?  代购小票制作网站有哪些,购物小票的简要说明?  常州企业网站制作公司,全国继续教育网怎么登录?  高防服务器租用指南:配置选择与快速部署攻略  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  子杰智能建站系统|零代码开发与AI生成SEO优化指南  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  图册素材网站设计制作软件,图册的导出方式有几种?  建站之星ASP如何实现CMS高效搭建与安全管理?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  公司网站的制作公司,企业网站制作基本流程有哪些?  制作企业网站建设方案,怎样建设一个公司网站?  建站之星如何实现PC+手机+微信网站五合一建站?  建站之星后台密码遗忘如何找回?  高防服务器:AI智能防御DDoS攻击与数据安全保障  如何获取免费开源的自助建站系统源码?  C#如何序列化对象为XML XmlSerializer用法  如何快速搭建安全的FTP站点?  如何选择可靠的免备案建站服务器?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  已有域名如何快速搭建专属网站?  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  如何快速重置建站主机并恢复默认配置?  如何在局域网内绑定自建网站域名?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  建站之星如何取消后台验证码生成?  如何快速启动建站代理加盟业务?  建站之星如何修改网站生成路径?  IOS倒计时设置UIButton标题title的抖动问题  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  安徽网站建设与外贸建站服务专业定制方案  装修招标网站设计制作流程,装修招标流程?  如何通过建站之星自助学习解决操作问题?  建站之星上传入口如何快速找到?  如何高效完成自助建站业务培训?  如何在景安服务器上快速搭建个人网站?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  焦点电影公司作品,电影焦点结局是什么?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  如何零基础在云服务器搭建WordPress站点?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。