一、通过System.getProperties()获取系统常用属性:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.lang.System;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Hashtable;
import java.util.Enumeration;
import java.util.StringTokenizer;
public class SystemInfo
{
private static Properties _property;
public static void main(String[] a)
{
_property=System.getProperties();
Hashtable hashKey;
hashKey=new Hashtable();
hashKey.put("java.home", "Java安装目录");
hashKey.put("java.class.path", "装载类的路径");
hashKey.put("java.specification.version", "Java API 规范的版本");
hashKey.put("java.specification.vendor", "Java API 规范的厂商");
hashKey.put("java.specification.name", "Java API 规范的名称");
hashKey.put("java.version", "Java API 实现的版本");
hashKey.put("java.vendor", "Java API 实现的厂商");
hashKey.put("java.vendor.url", "Java API 规范厂商的URL");
hashKey.put("java.vm.specification.version", "Java虚拟机规范的版本");
hashKey.put("java.vm.specification.vendor", "Java虚拟机规范的厂商");
hashKey.put("java.vm.specification.name", "Java虚拟机规范的名称");
hashKey.put("java.vm.version", "Java虚拟机实现的版本");
hashKey.put("java.vm.vendor", "Java虚拟机实现的厂商");
hashKey.put("java.vm.name", "Java虚拟机实现的名称");
hashKey.put("java.class.version", "Java类文件格式的版本");
hashKey.put("os.name", "主机操作系统的名称");
hashKey.put("os.arch", "主机操作系统的体系结构");
hashKey.put("os.version", "主机操作系统的版本");
hashKey.put("file.separator", "平台目录的分隔符");
hashKey.put("path.separator", "平台路径的分隔符");
hashKey.put("line.separator", "Java虚拟机规范的厂商");
hashKey.put("user.name", "当前用户的帐户名称");
hashKey.put("user.home", "当前用户的根目录");
hashKey.put("user.dir", "当前工作目录");
Enumeration enum = hashKey.keys();
String propertyKey;
while(enum.hasMoreElements())
{
propertyKey=(String)enum.nextElement();
System.out.println((String)hashKey.get(propertyKey)+":"+_property.getProperty(propertyKey));
}
System.out.println(getComputer());
System.out.println(getIpAddress());
}
/**
获取电脑名称
*/
public static String getComputer()
{
String hostName="" ,ip = "";
try
{
ip = InetAddress.getLocalHost().toString();
StringTokenizer tok = new StringTokenizer(ip, "/");
hostName = tok.nextToken();
}
catch (Exception e)
{
e.printStackTrace();
}
return hostName;
}
/**
获取IP地址
*/
public static String getIpAddress()
{
String hostName = "";
String ip = "";
try
{
ip = InetAddress.getLocalHost().toString();
StringTokenizer tok = new StringTokenizer(ip, "/");
hostName = tok.nextToken();
ip = tok.nextToken();
}
catch (Exception e)
{
e.printStackTrace();
}
return ip;
}
}
二、由于需求要求获取unix环境下的进程信息,故需要使用Runtime来解决,方案如下:
1.通过编写unix中的shell脚本,如monitor.sh内容:
#!/bin/bash
log_home=/export/home/bea/imep/monitor/imep.log
date +"%Y-%m-%d-%H:%M:%S" > $log_home
ps -ef | grep java >> $log_home
该脚本用于将ps -ef | grep java(当前系统java进程信息)打印的内容重定向至/export/home/bea/imep/monitor/imep.log文件下
2.使用JAVA的Runtime类执行该shell脚本
public void runUnixShell()
{
try
{
Process process = Runtime.getRuntime().exec(“/export/home/bea/imep/monitor/monitor.sh”);
process.waitFor();
}catch(Exception e)
{
e.printStackTrace();
}
}
而后对此日志文件export/home/bea/imep/monitor/imep.log
进行解析。
3.方法很多,可以更深入研究(可以直接解析unix自动生成的所有进程日志内容,或者通过Process类进行处理……)
分享到:
相关推荐
使用 System.getProperty(“property_name”)来获取属性值,以下是BlackBerry9700 的 值: 1. microedition.encoding 属性:代表手机默认的字符集名称 返回值:“ISO-8859-1” 2. microedition.configuration ...
我们如果想在ImageView,Button,TextView等系统控件中在XML...看到这里是不是觉得无法实现,因为系统的ImageView,Button等是无法识别我们自定义的属性值的,系统的控件怎么识别我们随便定义的属性呢。今天我们就来解决
ORM——关系对象模型 对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R ...获取关联表里的属性值代码如下: /** * [getContactAttribute 获取卖家联系人] */ public function getContactAtt
针对集值决策信息系统中数据的动态变化情况,通过引入条件信息量和属性重要性概念,提出了一种启发式的动态属性约简算法,当新的属性集增加到决策信息系统时,算法能够利用原系统的属性约简结果,快速更新属性集增加...
为了以最少的条件属性值获取信息系统的决策规则,我们可以用值约简算法删除和过滤冗余的条件属性值。在介绍基本值约简算法的基础上,对原算法考虑的情况进行了适当的补充,主要对那种当删除记录的一些属性后不会出现...
针对现实信息系统中属性值取值不确定的情况,结合灰色系统理论对集中有序关系进行扩展,建立了灰色信息系统中趋于某个标准值的一种偏好关系,并以集中有序关系下的优势度为启发式信息,给出了属性的重要性度量,在此...
在实践中,由于获取手段的限制或实际问题的要求,我们可能会获得设定值的数据。 在本文中,我们专注于在析取语义下如何减少集值决策信息系统。 首先,定义了一种新的关系来度量两个集合值对象之间的相似度,从而克服...
因此, 首先根据每个属性值域的范围, 提出了一个区间段值的概念, 用以将序区间值决策系统转换为序区间段值决策系统; 然后, 在序区间段值决策系统中提出了基于区间段值的优势和弱势描述子概念, 用以导出序区间值决策...
qt+property system属性系统READ使用用例代码+详细注释,通过property宏定义主界面上按钮的点击次数属性,每隔一秒在主界面的timerevent中获取该属性值并在label更新当前按钮总点击次数。
此库提供了使用属性的便捷方式。它可以处理属性文件
6.6.1 通过名称获取系统属性值 152 6.6.2 通过名称获取系统属性 152 6.7 用户和组 153 6.7.1 获取应用程序用户和组ID 153 6.7.2 获取应用程序用户名 154 6.8 进程间通信 154 6.9 小结 154 第7章 原生线程 155...
在本文中,我们提出了一种增量方法,用于在属性值随时间变化时保持DRSA的近似值。一些数值示例说明,增量方法可以更新DRSA的近似值,而无需从头开始。实验评估表明,当属性值的变化率小于阈值时,与非增量算法相比,...
该属性对于处理中文请求参数非常有用,对于获取中文请求参数值,应该将该属性值设置为GBK或者GB2312; 提示: 当设置该参数为GBK时,相当于调用HttpServletRequest的setCharacterEncoding方法. struts.objectFactory ...
注册全局热键并使用它,一键获取当前鼠标在屏幕中的坐标,及坐标处颜色RGB值。可通过热键,不断获取多个属性值。 我自己是用在Python的pyautogui控制辅助上。
研究实值决策系统中的知识获取是粒计算研究的主要方向之一。为给出一种高效的知识获取方法,基于邻域粗糙集的原理,针对实值特点,在相容的实值决策系统中,给出判别度描述下的约简定义。进一步提出一种基于判别度的...
属性约简是知识获取的重要方法之一,利用粗糙集理论对精确属性值的研究已经比较深人,然而在实际应用中,面对的信息往往是不确定的。本文重点研究了对象属性值为Vague概念的Vague信息系统,通过定义Vague值间的序关系,...
本书是第一本介绍实际使用的Lisp实现技术的书,并且可以作为手册,详细介绍当前所有各种Lisp表达式的实现细节。
获取css属性值 阻止冒泡行为 阻止默认行为 兼容 阻止滚动条冒泡事件 获取系统当前时间 数组最大值 数组最小值 求和 小数点可能会有很多位,这里不做处理,处理了使用就不灵活了 从数组中随机获取元素 清除对象中值为...
它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 3、试述实现数据库安全性控制...
1、增加“窗口_取窗口属性””窗口_置窗口属性“命令,该函数获得有关指定窗口的信息,函数也获得在额外窗口内存中指定偏移位地址的32位度整型值。并且设置相关属性 2、增加“进程_是否被挂起”命令,用于...