2013-08-04 4 views
9

C#에서 실행중인 프로세스 목록 (서비스 프로세스가 아닌 실제 응용 프로그램)을 가져올 수 있고 응용 프로그램이 시작된 날짜 시간을 얻을 수 있습니까? 또는 TimeSpan 또는 프로세스가 실행 된 기간의 정수 일 수도 있습니다.프로세스가 실행 된 시간을 확인할 수 있습니까?

+0

[ "C# 실행중인 프로세스 목록 가져 오기"] (http://www.google.com/search?q=c%23+get+list+of+running+processes), [ "C# 프로세스 시작 시간 "] (http://www.google.com/search?q=c%23+get+process+start+time) –

답변

12

Process.GetProcesses은 실행중인 프로세스 목록을 검색합니다.

Process

연관된 프로세스가 시작 된 시간을 가져옵니다 StartTime 속성이 있습니다.

단순히 프로세스를 실행 한 시간을 알아 보려면 DateTime.Now에서 해당 값을 뺍니다.

static void Main(string[] args) 
{ 
    var procs = Process.GetProcesses(); 
    foreach (var proc in procs) { 
     TimeSpan runtime; 
     try { 
      runtime = DateTime.Now - proc.StartTime; 
     } 
     catch (Win32Exception ex) { 
      // Ignore processes that give "access denied" error. 
      if (ex.NativeErrorCode == 5) 
       continue; 
      throw; 
     } 

     Console.WriteLine("{0} {1}", proc, runtime); 
    } 

    Console.ReadLine(); 
} 
+0

프로세스에 시작 시간 속성이 있다는 것을 알지 못했습니다. :) – Kurubaran

관련 문제