public void KillTerminated() { ProcessList.FindAll(t => t.State == State.Terminated).ForEach((t) => { KillProcess(t.Name); }); }
public void ScheduleProcess() { var processList = ProcessList.FindAll(t => t.State == State.Created); foreach (var p in processList) { ScheduleProcess(p.Name); } }
public void ScheduleProcess(string processName) { if (ProcessCount == ChannelCount) { ProcessList.FindAll(t => t.State == State.Terminated).ForEach(t => KillProcess(t.Name)); } var find = ProcessList.Find(t => t.State == State.Created || t.Name == processName); if (find != null) { find.State = State.Ready; OnProcessStateChange(find, State.Created); } else { throw new ProcessNotExistException() { Name = processName }; } }