private static void Process_time()
{     
      int intInterval = 1000; // 1 second
      string procName = "ProcessName";
      
      while (true)
      {
             Process[] runningNow = Process.GetProcesses();             
             foreach (Process process in runningNow)
             {
                   using (PerformanceCounter pcProcess = new PerformanceCounter("Process", "% Processor Time", process.ProcessName))
                   {   
                        if (process.ProcessName == procName)>
                        {
                              pcProcess.NextValue();
                              System.Threading.Thread.Sleep(1000);
                              Console.WriteLine("Process:{0} CPU% {1}", process.ProcessName, pcProcess.NextValue());
       
                            //if (pcProcess.NextValue() > float.Parse("10");
                            // process의 점유율을 체크하여 10 이상이면 kill
                            //{
                            //    Console.WriteLine(string.Format("Killing {0} at {1}", procName, DateTime.Now.ToString()));
                            //    process.Kill();
                            //}
                        }
                   }
              }
                // Sleep till the next loop
                Thread.Sleep(intInterval);      
      }
}

+ Recent posts