/// <summary> /// 获取操作系统 /// </summary> /// <returns></returns> public static string OperatingSystem() { string os = null; try { if (File.Exists("/etc/os-release")) { var list = FileTo.ReadText("/etc/os-release").Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); os = list.FirstOrDefault(x => x.Contains("PRETTY_NAME")).Split('"')[1]; } else if (File.Exists("/etc/redhat-release")) { os = FileTo.ReadText("/etc/redhat-release"); } else if (File.Exists("/etc/lsb-release")) { var list = FileTo.ReadText("/etc/lsb-release").Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries); os = list.FirstOrDefault(x => x.Contains("DESCRIPTION")).Split('"')[1]; } } catch (Exception ex) { Console.WriteLine(ex); } return(os.Trim(Environment.NewLine.ToCharArray())); }
/// <summary> /// 获取型号 /// </summary> /// <returns></returns> public static string Model() { try { var model = FileTo.ReadText("/sys/class/dmi/id/product_name")?.Trim(); return(model); } catch (Exception ex) { Console.WriteLine("/sys/class/dmi/id/product_name"); Console.WriteLine(ex); } return(null); }
/// <summary> /// 运行时长 /// </summary> /// <returns></returns> public static long RunTime() { try { var uptime = FileTo.ReadText("/proc/uptime"); var pitem = Convert.ToDouble(uptime.Split(' ')[0]); var pvalue = Convert.ToInt64(pitem * 1000);; return(pvalue); } catch (Exception ex) { Console.WriteLine("/proc/uptime"); Console.WriteLine(ex); } return(0); }
/// <summary> /// 获取 /proc/meminfo /// </summary> /// <param name="pkey"></param> /// <returns></returns> public static long MemInfo(string pkey) { try { var meminfo = FileTo.ReadText("/proc/meminfo"); var pitem = meminfo.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries).FirstOrDefault(x => x.StartsWith(pkey)); var pvalue = 1024 * long.Parse(pitem.Replace(pkey, "").ToLower().Replace("kb", "").Trim()); return(pvalue); } catch (Exception ex) { Console.WriteLine("/proc/meminfo"); Console.WriteLine(ex); } return(0); }
/// <summary> /// 获取 /proc/cpuinfo /// </summary> /// <param name="pkey"></param> /// <returns></returns> public static string CpuInfo(string pkey) { try { var meminfo = FileTo.ReadText("/proc/cpuinfo") + Environment.NewLine + CmdTo.Execute("lscpu").CrOutput; var pitem = meminfo.Split(Environment.NewLine.ToCharArray(), StringSplitOptions.RemoveEmptyEntries).FirstOrDefault(x => x.StartsWith(pkey, StringComparison.OrdinalIgnoreCase)); var pvalue = pitem.Split(':')[1].Trim(); return(pvalue); } catch (Exception ex) { Console.WriteLine("/proc/cpuinfo"); Console.WriteLine("lscpu"); Console.WriteLine(ex); } return(null); }