最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java如何獲取當(dāng)前進(jìn)程ID以及所有Java進(jìn)程的進(jìn)程ID

 更新時(shí)間:2017年06月03日 15:16:14   作者:zgljl2012  
本篇文章主要介紹了Java如何獲取當(dāng)前進(jìn)程ID以及所有Java進(jìn)程的進(jìn)程ID,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

首先是獲取當(dāng)前Java運(yùn)行的Java進(jìn)程ID,這個(gè)是網(wǎng)上常見的,也就是Java程序自身將進(jìn)程ID打印出來(lái):

package com.test;

import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;

public class Target {

  public static void main(String[] args) throws InterruptedException {
    System.out.println(getProcessID());
    while(true) {
      Thread.sleep(10000);
    }
  }

  public static final int getProcessID() { 
    RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
    System.out.println(runtimeMXBean.getName());
    return Integer.valueOf(runtimeMXBean.getName().split("@")[0]) 
        .intValue(); 
  } 

}

運(yùn)行結(jié)果:

2896@PC-20150603VRPL
2896

ManagementFactory是一個(gè)在運(yùn)行時(shí)管理和監(jiān)控Java VM的工廠類,它能提供很多管理VM的靜態(tài)接口,比RuntimeMXBean;

RuntimeMXBean是Java虛擬機(jī)的運(yùn)行時(shí)管理接口.

當(dāng)前進(jìn)程ID為2896。

但這種讓Java進(jìn)程自行打印ID的方式并不太好用,因?yàn)楹芏鄷r(shí)候我們是需要在不修改代碼另一個(gè)Java程序代碼的情況下知道這個(gè)正在運(yùn)行著的Java進(jìn)程的ID,如果你也有這個(gè)需求,可以看一下下面的解決方法:

獲取所有正在運(yùn)行著的Java進(jìn)程

package com.test;

import java.util.HashSet;
import java.util.Set;

import sun.jvmstat.monitor.MonitoredHost;
import sun.jvmstat.monitor.MonitoredVm;
import sun.jvmstat.monitor.MonitoredVmUtil;
import sun.jvmstat.monitor.VmIdentifier;

public class ProcessID {

  public static void main(String[] args) throws Exception {
     // 獲取監(jiān)控主機(jī)
     MonitoredHost local = MonitoredHost.getMonitoredHost("localhost");
     // 取得所有在活動(dòng)的虛擬機(jī)集合
     Set<?> vmlist = new HashSet<Object>(local.activeVms());
     // 遍歷集合,輸出PID和進(jìn)程名
     for(Object process : vmlist) {
       MonitoredVm vm = local.getMonitoredVm(new VmIdentifier("http://" + process));
       // 獲取類名
       String processname = MonitoredVmUtil.mainClass(vm, true);
       System.out.println(process + " ------> " + processname);
     }
   }
}

運(yùn)行結(jié)果:

2752 ------> 
5172 ------> com.test.Target
5308 ------> com.test.ProcessID

這樣,就可以根據(jù)類名找到進(jìn)程號(hào)了。

MonitoredHost等類位于${JAVA_HOME}/lib/tools.jar

下面是一個(gè)可以直接根據(jù)類找到對(duì)應(yīng)Java進(jìn)程ID的方法:

package com.test;

import java.net.URISyntaxException;
import java.util.HashSet;
import java.util.Set;

import sun.jvmstat.monitor.MonitorException;
import sun.jvmstat.monitor.MonitoredHost;
import sun.jvmstat.monitor.MonitoredVm;
import sun.jvmstat.monitor.MonitoredVmUtil;
import sun.jvmstat.monitor.VmIdentifier;

public class ProcessID {

  public static void main(String[] args) throws Exception {
     int pid = getProcess(Target.class);
     System.out.println("PID: "+pid);
  }

  public static int getProcess(Class<?> cls) throws MonitorException, URISyntaxException {
    if(cls == null) {
      return -1;
    }

    // 獲取監(jiān)控主機(jī)
    MonitoredHost local = MonitoredHost.getMonitoredHost("localhost");
    // 取得所有在活動(dòng)的虛擬機(jī)集合
    Set<?> vmlist = new HashSet<Object>(local.activeVms());
    // 遍歷集合,輸出PID和進(jìn)程名
    for(Object process : vmlist) {
      MonitoredVm vm = local.getMonitoredVm(new VmIdentifier("http://" + process));
      // 獲取類名
      String processname = MonitoredVmUtil.mainClass(vm, true);
      if(cls.getName().equals(processname)) {
        return ((Integer)process).intValue();
      }
    }
    return -1;
  }
}

運(yùn)行結(jié)果:

PID: 5172

源碼位于我的Github項(xiàng)目aoptracer的com.test包里

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java下載Excel模板文件的簡(jiǎn)單實(shí)現(xiàn)方法

    Java下載Excel模板文件的簡(jiǎn)單實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Java下載Excel模板文件的簡(jiǎn)單實(shí)現(xiàn)方法,日常工作中可能經(jīng)常會(huì)涉及到用java開發(fā)報(bào)表,需求比較多的就是表格類的報(bào)表導(dǎo)出,單元格合并,圖表的展現(xiàn),需要的朋友可以參考下
    2023-07-07
  • 快速上手Java單元測(cè)試框架JUnit5

    快速上手Java單元測(cè)試框架JUnit5

    今天給大家?guī)?lái)的是關(guān)于Java單元測(cè)試的相關(guān)知識(shí),文章圍繞著Java單元測(cè)試框架JUnit5展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程

    Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程

    這篇文章主要介紹了Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程,MyBatis一般被用來(lái)增強(qiáng)數(shù)據(jù)庫(kù)操作,文中對(duì)MyBatis的主配置文件有較為詳細(xì)的講解,需要的朋友可以參考下
    2016-04-04
  • Spring?Cloud?OpenFeign?遠(yuǎn)程調(diào)用

    Spring?Cloud?OpenFeign?遠(yuǎn)程調(diào)用

    這篇文章主要介紹了Spring?Cloud?OpenFeign?遠(yuǎn)程調(diào)用,本文通過(guò)遠(yuǎn)程調(diào)用的GitHub開放API用到的OpenFeign作為示例代碼作為入口進(jìn)行講解。然后以圖解+解讀源碼的方式深入剖析了OpenFeign的運(yùn)行機(jī)制和架構(gòu)設(shè)計(jì),需要的朋友可以參考一下
    2022-08-08
  • SpringBoot返回long,前端接收進(jìn)度丟失,@JsonSerialize不生效問(wèn)題

    SpringBoot返回long,前端接收進(jìn)度丟失,@JsonSerialize不生效問(wèn)題

    這篇文章主要介紹了SpringBoot返回long,前端接收進(jìn)度丟失,@JsonSerialize不生效問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 使用Nacos作為配置中心的命名空間、配置分組

    使用Nacos作為配置中心的命名空間、配置分組

    文章詳細(xì)介紹了Spring Cloud Config配置中心的命名空間、配置集、配置集ID、配置分組以及如何在微服務(wù)中加載和使用這些配置,通過(guò)配置中心,可以實(shí)現(xiàn)配置隔離和集中管理,簡(jiǎn)化微服務(wù)的配置維護(hù)
    2024-12-12
  • java位運(yùn)算加密示例

    java位運(yùn)算加密示例

    通過(guò)位運(yùn)算中的"^"異或運(yùn)算符把字符串與一個(gè)指定的值進(jìn)行異或運(yùn)算,從而改變字符串每個(gè)字符的值,這樣就可以得到一個(gè)加密后的字符串
    2014-02-02
  • Springboot 實(shí)現(xiàn)數(shù)據(jù)庫(kù)備份還原的方法

    Springboot 實(shí)現(xiàn)數(shù)據(jù)庫(kù)備份還原的方法

    這篇文章主要介紹了Springboot 實(shí)現(xiàn)數(shù)據(jù)庫(kù)備份還原的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java實(shí)現(xiàn)文件壓縮為zip和解壓zip壓縮包

    Java實(shí)現(xiàn)文件壓縮為zip和解壓zip壓縮包

    這篇文章主要為大家介紹了Java如何實(shí)現(xiàn)將文件壓縮為zip以及解壓zip壓縮包,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手嘗試一下
    2022-06-06
  • springboot全局配置文件與多環(huán)境配置的全過(guò)程

    springboot全局配置文件與多環(huán)境配置的全過(guò)程

    SpringBoot項(xiàng)目在多環(huán)境配置上表現(xiàn)的非常優(yōu)秀,只需要非常簡(jiǎn)單的操作就可以完成配置,下面這篇文章主要給大家介紹了關(guān)于springboot全局配置文件與多環(huán)境配置的相關(guān)資料,需要的朋友可以參考下
    2021-12-12

最新評(píng)論

南川市| 耒阳市| 峨眉山市| 荔波县| 湛江市| 兴城市| 延寿县| 新邵县| 洪雅县| 洪泽县| 岳西县| 洛扎县| 吉林省| 大同县| 通山县| 修文县| 开江县| 都昌县| 应城市| 青神县| 龙南县| 包头市| 贺兰县| 道孚县| 柯坪县| 南宁市| 休宁县| 社旗县| 乌审旗| 衢州市| 泾源县| 朝阳县| 岳池县| 昭通市| 睢宁县| 吉安县| 天台县| 沁水县| 宁阳县| 徐闻县| 天峨县|