Esempio n. 1
0
        //typeperf "\Processor(_Total)\% Processor Time"
        public string Get(SystemUpTimeData request)
        {
            var      info = string.Empty;
            TimeSpan upTime;

            switch (IsUnix())
            {
            case true:
                info   = LinuxBash.GetCommandOutput("uptime -s");
                upTime = (DateTime.Now - DateTime.Parse(info));
                return(JsonSerializer.SerializeToString(new SystemUpTimeData()
                {
                    UpTimeDays = upTime.Days.ToString(),
                    UpTimeHours = upTime.Hours.ToString()
                }));

            case false:
                info = WindowsCmd.GetCommandOutput("net statistics server");
                var info1 = info.Split(new[] { "Statistics since" }, StringSplitOptions.RemoveEmptyEntries)[1];
                var info2 = info1.Split(new[] { "Sessions accepted" }, StringSplitOptions.RemoveEmptyEntries)[0];
                upTime = (DateTime.Now.Subtract(DateTime.Parse(info2)));

                return(JsonSerializer.SerializeToString(new SystemUpTimeData()
                {
                    UpTimeDays = upTime.Days.ToString(),
                    UpTimeHours = upTime.Hours.ToString()
                }));

            default:
                return(string.Empty);
            }
        }
        //typeperf "\Processor(_Total)\% Processor Time"
        public string Get(SystemUpTimeData request)
        {
            var      config = Plugin.Instance.Configuration;
            var      info   = string.Empty;
            TimeSpan upTime;

            switch (IsUnix())
            {
            case true:
                info   = LinuxBash.GetCommandOutput("uptime -s");
                upTime = (DateTime.Now - DateTime.Parse(info));
                return(JsonSerializer.SerializeToString(new SystemUpTimeData()
                {
                    UpTimeDays = upTime.Days.ToString(),
                    UpTimeHours = upTime.Hours.ToString(),
                    UpTimeMinutes = upTime.Minutes.ToString(),
                    UpTimeSeconds = upTime.Seconds.ToString()
                }));

            case false:

                info = WindowsCmd.GetCommandOutput("cmd", " /c wmic path Win32_OperatingSystem get LastBootUpTime");
                var info1 = info.Split(new[] { "LastBootUpTime" }, StringSplitOptions.RemoveEmptyEntries)[0].Trim();
                var info2 = info1.Split('-')[0].Split('.')[0];
                var info3 = info2.Insert(4, "/").Insert(7, "/").Insert(10, " ").Insert(13, ":").Insert(16, ":");
                upTime = (DateTime.Now.Subtract(DateTime.Parse(info3)));

                return(JsonSerializer.SerializeToString(new SystemUpTimeData()
                {
                    UpTimeDays = upTime.Days.ToString(),
                    UpTimeHours = upTime.Hours.ToString(),
                    UpTimeMinutes = upTime.Minutes.ToString(),
                    UpTimeSeconds = upTime.Seconds.ToString()
                }));

            default:
                return(string.Empty);
            }
        }