/// <summary> /// 获取 /proc/cpuinfo /// </summary> /// <param name="pkey"></param> /// <returns></returns> public static string CpuInfo(string pkey) { var meminfo = FileTo.ReadText("/proc/", "cpuinfo"); var pitem = meminfo.Split(Environment.NewLine.ToCharArray()).FirstOrDefault(x => x.StartsWith(pkey)); var pvalue = pitem.Split(':')[1].Trim(); return(pvalue); }
/// <summary> /// 运行时长 /// </summary> /// <returns></returns> public static long RunTime() { var uptime = FileTo.ReadText("/proc/", "uptime"); var pitem = Convert.ToDouble(uptime.Split(' ')[0]); var pvalue = Convert.ToInt64(pitem * 1000);; return(pvalue); }
/// <summary> /// 获取 /proc/meminfo /// </summary> /// <param name="pkey"></param> /// <returns></returns> public static long MemInfo(string pkey) { var meminfo = FileTo.ReadText("/proc/", "meminfo"); var pitem = meminfo.Split(Environment.NewLine.ToCharArray()).FirstOrDefault(x => x.StartsWith(pkey)); var pvalue = 1024 * long.Parse(pitem.Replace(pkey, "").ToLower().Replace("kb", "").Trim()); return(pvalue); }
// // 摘要: // 写入消息 // // 参数: // msg: public static void Log(object msg) { string content; try { switch (msg.GetType().Name) { case "Enum": case "Byte": case "Char": case "String": case "Boolean": case "UInt16": case "Int16": case "Int32": case "Int64": case "Single": case "Double": case "Decimal": content = msg.ToString(); break; default: content = msg.ToJson(); break; } } catch (Exception) { content = msg.ToString(); } DateTime now = DateTime.Now; string path = AppDomain.CurrentDomain.BaseDirectory !.Replace("\\", "/").TrimEnd('/') + "/logs/" + now.ToString("yyyyMM") + "/"; FileTo.WriteText(content, path, "console_" + now.ToString("yyyyMMdd") + ".log"); }