public static string HeartBeatCmd() { //if (!RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) // return "not support for current os"; LinuxServerInfo info = new LinuxServerInfo(); StringBuilder builder = new StringBuilder(); if (!RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { return($"{CommandTag.HeartBeat.GetValue()}|0|End"); } //测试 //builder.AppendFormat("|{0}", "CentOS Linux release 7.6.1810"); //builder.AppendFormat("|{0}", "9天 7小时 09分钟"); //builder.AppendFormat("|{0}", "1.13,1.33,1.55"); //builder.AppendFormat("|{0}", "10"); //builder.AppendFormat("|{0}", "3.1"); //builder.AppendFormat("|{0}", "1"); //builder.AppendFormat("|{0}", "7686788,12555555"); //builder.AppendFormat("|End"); builder.AppendFormat("{0}|{1}", CommandTag.HeartBeat.GetValue(), 1); builder.AppendFormat("|{0}", info.OSName); builder.AppendFormat("|{0}", info.RunTime); builder.AppendFormat("|{0}", info.LoadAverages); builder.AppendFormat("|{0}", info.Cpu.CpuUsage); builder.AppendFormat("|{0}", info.Mem?.MemUsage); builder.AppendFormat("|{0}", info.Disk?.UseUsage); builder.AppendFormat("|{0},{1}", info.IO?.ReadBytes, info.IO?.WriteBytes); builder.AppendFormat("|End"); return(builder.ToString()); }
//you can’t get to run on Windows static void Main(string[] args) { //string text = File.ReadAllText("text.txt"); //redirect:true 获取服务器命令执行结果 var ls = "ls".LinuxBash().Output; //redirect:false 将命令执行结果重定向输出到服务器 ls = "ls".LinuxBash(false).Output; //服务器状态对象 LinuxServerInfo server = new LinuxServerInfo(); //系统信息 var OSName = server.OSName; $"echo {OSName}".LinuxBash(false); //运行时长 var RunTime = server.RunTime; $"echo {RunTime}".LinuxBash(false); //系统负载 var LoadAverages = server.LoadAverages; $"echo {LoadAverages}".LinuxBash(false); //CPU状态: cpu描述,cpu核心数,cpu使用率 var cpuInfo = server.Cpu; $"echo {cpuInfo.SerializeJSON().Replace('(',' ').Replace(')',' ')}".LinuxBash(false); //内存状态:内存总容量,实际可用容量,已使用的容量,缓存化的容量,系统缓冲容量 var Mem = server.Mem; $"echo {Mem.SerializeJSON()}".LinuxBash(false); //磁盘状态:磁盘总容量,已用容量,可用容量,已用百分比 var Disk = server.Disk; $"echo {Disk.SerializeJSON()}".LinuxBash(false); //IO读写状态:读请求数量,写请求数量,读字节数,写字节数 var IO = server.IO; $"echo {IO.SerializeJSON()}".LinuxBash(false); //网络状态:接收的数据包数量,发送的数据包数量,接收字节数,发送字节数 var NetWork = server.NetWork; $"echo {NetWork.SerializeJSON()}".LinuxBash(false); //网络连接状态: tcp客户端IP,服务器IP,连接状态 var NetworkConnections = server.NetworkConnections; foreach (var net in NetworkConnections) { $"echo {net.SerializeJSON()}".LinuxBash(false); } //进程列表:进程id,进程所有者的用户名,虚拟内存使用量,物理内存使用量,进程状态,CPU使用率,进程命令名 var Tasks = server.Tasks; for (int i = 0; i < 6; i++) { $"echo {Tasks[i].SerializeJSON()}".LinuxBash(false); } Console.WriteLine("Press any key to exit"); Console.ReadLine(); }