📄 sigaruptimeinfo.java
字号:
/* * SigarUptimeInfo.java * * Created on March 14, 2005, 12:30 PM */package net.hyperic.sigar.cmd;import net.hyperic.sigar.SigarProxy;import net.hyperic.sigar.SigarException;import net.hyperic.sigar.SigarNotImplementedException;import net.hyperic.sigar.util.PrintfFormat;import java.text.SimpleDateFormat;import java.util.Date;/** * * @author Sean */public class SigarUptimeInfo extends SigarCommandBase { /** Creates a new instance of SigarUptimeInfo */ public SigarUptimeInfo() { super(); } /** * */ public double getUptime() throws SigarException { try { return sigar.getUptime().getUptime(); } catch (SigarException e) { throw e; } } /** * */ public double getUptimeMins() throws SigarException { try { return sigar.getUptime().getUptime() / 60; } catch (SigarException e) { throw e; } } /** * */ public double getUptimeHrs() throws SigarException { try { return sigar.getUptime().getUptime() / (60 * 60); } catch (SigarException e) { throw e; } } /** * */ public double getUptimeDays() throws SigarException { try { return sigar.getUptime().getUptime() / (60 * 60 * 24); } catch (SigarException e) { throw e; } } /** * */ public double[] getLoadAvg() throws SigarException { try { return sigar.getLoadAverage(); } catch (SigarException e) { throw e; } } /** * */ public void output() throws SigarException { try { output(null); } catch (SigarException e) { throw e; } } /** * */ public void output(String[] args) throws SigarException { double dUptime; double[] loadAvgArr; String loadAvgStr; String uptimeStr; String currTimeStr; PrintfFormat formatter = new PrintfFormat("%.2f, %.2f, %.2f"); try { dUptime = sigar.getUptime().getUptime(); } catch (SigarException e) { throw e; } try { loadAvgArr = sigar.getLoadAverage(); loadAvgStr = "load average: " + formatter.sprintf(loadAvgArr); } catch (SigarNotImplementedException e) { loadAvgStr = "(load average unknown)"; } uptimeStr = " " + getCurrentTime() + " up " + formatUptime(dUptime) + ", " + loadAvgStr; System.out.println( uptimeStr ); } /** * */ private static String formatUptime(double uptime) { String retval = ""; int days = (int)uptime / (60*60*24); int minutes, hours; if (days != 0) { retval += days + " " + ((days > 1) ? "days" : "day") + ", "; } minutes = (int)uptime / 60; hours = minutes / 60; hours %= 24; minutes %= 60; if (hours != 0) { retval += hours + ":" + minutes; } else { retval += minutes + " min"; } return retval; } /** * */ private static String getCurrentTime() { return new SimpleDateFormat("h:mm a").format(new Date()); } public static void main( String[] args ) { try { SigarUptimeInfo info = new SigarUptimeInfo(); info.output(); } catch ( Exception ex ) { System.out.println( ex.getMessage() ); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -