Beispiel #1
0
 public void KillTerminated()
 {
     ProcessList.FindAll(t => t.State == State.Terminated).ForEach((t) =>
     {
         KillProcess(t.Name);
     });
 }
Beispiel #2
0
        public void ScheduleProcess()
        {
            var processList = ProcessList.FindAll(t => t.State == State.Created);

            foreach (var p in processList)
            {
                ScheduleProcess(p.Name);
            }
        }
Beispiel #3
0
        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
                      };
            }
        }