private static LinuxProcessStatus ParseProcessStatus(string statusText) { var result = new LinuxProcessStatus { State = nixProcessState.Unknown }; if (string.IsNullOrEmpty(statusText)) { return(result); } var items = statusText.Split(new[] { ' ' }, StringSplitOptions.None); if (items.Length <= 0) { return(result); } int.TryParse(items[0], out result.Id); if (items.Length <= 1) { return(result); } result.Name = items[1].TrimStart('(').TrimEnd(')'); if (items.Length <= 2 || items[2].Length <= 0) { return(result); } if (char.ToUpper(items[2][0]) == 'R') { result.State = nixProcessState.Running; } else if (char.ToUpper(items[2][0]) == 'S') { result.State = nixProcessState.InterruptableWait; } else if (char.ToUpper(items[2][0]) == 'D') { result.State = nixProcessState.UninterruptableDiskWait; } else if (char.ToUpper(items[2][0]) == 'Z') { result.State = nixProcessState.Zombie; } else if (char.ToUpper(items[2][0]) == 'T') { result.State = nixProcessState.Traced; } else if (char.ToUpper(items[2][0]) == 'W') { result.State = nixProcessState.Paging; } return(result); }
private static LinuxProcessStatus ParseProcessStatus(string statusText) { var result = new LinuxProcessStatus { State = LinuxProcessState.Unknown }; if (!string.IsNullOrEmpty(statusText)) { var items = statusText.Split(new[] { ' ' }, StringSplitOptions.None); if (items.Length > 0) { int.TryParse(items[0], out result.Id); if (items.Length > 1) { result.Name = items[1].TrimStart('(').TrimEnd(')'); if (items.Length > 2 && items[2].Length > 0) { switch (char.ToUpper(items[2][0])) { case 'R': result.State = LinuxProcessState.Running; break; case 'S': result.State = LinuxProcessState.InterruptableWait; break; case 'D': result.State = LinuxProcessState.UninterruptableDiskWait; break; case 'Z': result.State = LinuxProcessState.Zombie; break; case 'T': result.State = LinuxProcessState.Traced; break; case 'W': result.State = LinuxProcessState.Paging; break; } } } } } return(result); }
private static LinuxProcessStatus ParseProcessStatus(string statusText) { var result = new LinuxProcessStatus { State = nixProcessState.Unknown }; if (string.IsNullOrEmpty(statusText)) return result; var items = statusText.Split(new[] { ' ' }, StringSplitOptions.None); if (items.Length <= 0) return result; int.TryParse(items[0], out result.Id); if (items.Length <= 1) return result; result.Name = items[1].TrimStart('(').TrimEnd(')'); if (items.Length <= 2 || items[2].Length <= 0) return result; if (char.ToUpper(items[2][0]) == 'R') result.State = nixProcessState.Running; else if (char.ToUpper(items[2][0]) == 'S') result.State = nixProcessState.InterruptableWait; else if (char.ToUpper(items[2][0]) == 'D') result.State = nixProcessState.UninterruptableDiskWait; else if (char.ToUpper(items[2][0]) == 'Z') result.State = nixProcessState.Zombie; else if (char.ToUpper(items[2][0]) == 'T') result.State = nixProcessState.Traced; else if (char.ToUpper(items[2][0]) == 'W') result.State = nixProcessState.Paging; return result; }
private static LinuxProcessStatus ParseProcessStatus(string statusText) { var result = new LinuxProcessStatus { State = LinuxProcessState.Unknown }; if (!string.IsNullOrEmpty(statusText)) { var items = statusText.Split(new[] { ' ' }, StringSplitOptions.None); if (items.Length > 0) { int.TryParse(items[0], out result.Id); if (items.Length > 1) { result.Name = items[1].TrimStart('(').TrimEnd(')'); if (items.Length > 2 && items[2].Length > 0) { switch (char.ToUpper(items[2][0])) { case 'R': result.State = LinuxProcessState.Running; break; case 'S': result.State = LinuxProcessState.InterruptableWait; break; case 'D': result.State = LinuxProcessState.UninterruptableDiskWait; break; case 'Z': result.State = LinuxProcessState.Zombie; break; case 'T': result.State = LinuxProcessState.Traced; break; case 'W': result.State = LinuxProcessState.Paging; break; } } } } } return result; }