Process 클래스 사용 예제입니다.
우리의 친구 메모장을 열고 살펴보겠습니다.
■ 네임스페이스
using System; using System.Diagnostics;
■ 예제
namespace ProcessTest { class Class1 { [STAThread] static void Main(string[] args) { // 이름으로 프로세스 찾기 Process[] procs = Process.GetProcessesByName("notpad"); foreach (Process proc in procs) { // 연결된 프로세스의 기본 우선 순위를 가져옵니다. Console.WriteLine("BasePriority : {0}", proc.BasePriority); // 프로세스가 종료될 때 Exited 이벤트를 발생시켜야 하는지 여부를 나타내는 값을 가져오거나 설정합니다. Console.WriteLine("EnableRaisingEvents : {0}", proc.EnableRaisingEvents); // 연결된 프로세스가 종료될 때 연결된 프로세스에서 지정한 값을 가져옵니다. Console.WriteLine("ExitCode : {0}", proc.ExitCode); // 연결된 프로세스가 종료된 시간을 가져옵니다. Console.WriteLine("ExitTime : {0}", proc.ExitTime); //관련된 프로세스의 기본 핸들을 반환합니다. Console.WriteLine("Handle : {0}", proc.Handle); // 프로세스에서 연 핸들 수를 가져옵니다. Console.WriteLine("HandleCount : {0}", proc.HandleCount); // 연결된 프로세스가 종료되었는지 여부를 나타내는 값을 가져옵니다. Console.WriteLine("HasExited : {0}", proc.HasExited); // 연결된 프로세스의 고유 식별자를 가져옵니다. Console.WriteLine("Id : {0}", proc.Id); // 연결된 프로세스가 실행 중인 컴퓨터 이름을 가져옵니다. Console.WriteLine("MachineName : {0}", proc.MachineName); // 연결된 프로세스의 주 모듈을 가져옵니다. Console.WriteLine("MainModule : {0}", proc.MainModule); // 연결된 프로세스의 주 창에 대한 창 핸들을 가져옵니다. Console.WriteLine("MainWindowHandle : {0}", proc.MainWindowHandle); // 프로세스의 주 창에 대한 캡션을 가져옵니다. Console.WriteLine("MainWindowTitle : {0}", proc.MainWindowTitle); // 연결된 프로세스에 대해 허용되는 작업 집합의 최대 크기를 가져오거나 설정합니다. Console.WriteLine("MaxWorkingSet : {0}", proc.MaxWorkingSet); // 연결된 프로세스에 대해 허용되는 작업 집합의 최소 크기를 가져오거나 설정합니다. Console.WriteLine("MinWorkingSet : {0}", proc.MinWorkingSet); // 연결된 프로세스에 의해 로드된 모듈을 가져옵니다. Console.WriteLine("Modules : {0}", proc.Modules); // 이 프로세스에 할당된 페이지되지 않은 시스템 메모리 크기를 가져옵니다. Console.WriteLine("NonpagedSystemMemorySize : {0}", proc.NonpagedSystemMemorySize); // 페이징된 메모리의 크기를 가져옵니다. Console.WriteLine("PagedMemorySize : {0}", proc.PagedMemorySize); // 페이징된 시스템 메모리의 크기를 가져옵니다. Console.WriteLine("PagedSystemMemorySize : {0}", proc.PagedSystemMemorySize); // 페이징된 메모리의 최대 크기를 가져옵니다. Console.WriteLine("PeakPagedMemorySize : {0}", proc.PeakPagedMemorySize); // 가상 메모리의 최대 크기를 가져옵니다. Console.WriteLine("PeakVirtualMemorySize : {0}", proc.PeakVirtualMemorySize); // 작업 집합의 최대 크기를 가져옵니다. Console.WriteLine("PeakWorkingSet : {0}", proc.PeakWorkingSet); // 포커스가 주 창에 있을 때 운영 체제가 연결된 프로세스의 우선 순위를 일시적으로 높일 것인지 여부를 나타내는 값을 가져오거나 설정합니다. Console.WriteLine("PriorityBoostEnabled : {0}", proc.PriorityBoostEnabled); // 연결된 프로세스에 대한 전체 우선 순위 범주를 가져오거나 설정합니다. Console.WriteLine("PriorityClass : {0}", proc.PriorityClass); // 전용 메모리의 크기를 가져옵니다. Console.WriteLine("PrivateMemorySize : {0}", proc.PrivateMemorySize); // 해당 프로세스의 시스템 프로세서 시간을 가져옵니다. Console.WriteLine("PrivilegedProcessorTime : {0}", proc.PrivilegedProcessorTime); // 프로세스의 이름을 가져옵니다. Console.WriteLine("ProcessName : {0}", proc.ProcessName); // 해당 프로세스에 포함된 스레드의 실행을 예약할 수 있는 프로세서를 가져오거나 설정합니다. Console.WriteLine("ProcessorAffinity : {0}", proc.ProcessorAffinity); // 프로세스의 사용자 인터페이스가 응답하는지 여부를 나타내는 값을 가져옵니다. Console.WriteLine("Responding : {0}", proc.Responding); // (Component에서 상속) Component의 ISite를 가져오거나 설정합니다. Console.WriteLine("Site : {0}", proc.Site); // 응용 프로그램에서 나오는 오류 출력을 읽는 StreamReader를 가져옵니다. Console.WriteLine("StandardError : {0}", proc.StandardError); // 응용 프로그램에서 프로세스에 입력을 쓸 수 있는 StreamWriter를 가져옵니다. Console.WriteLine("StandardInput : {0}", proc.StandardInput); // 응용 프로그램에서 프로세스의 출력을 읽을 수 있는 StreamReader를 가져옵니다. Console.WriteLine("StandardOutput : {0}", proc.StandardOutput); // Process의 Start 메서드에 전달할 속성을 가져오거나 설정합니다. Console.WriteLine("StartInfo : {0}", proc.StartInfo); // 연결된 프로세스가 시작된 시간을 가져옵니다. Console.WriteLine("StartTime : {0}", proc.StartTime); // 프로세스 종료 이벤트의 결과로 발생하는 이벤트 처리기 호출을 마샬링하는 데 사용되는 개체를 가져오거나 설정합니다. Console.WriteLine("SynchronizingObject : {0}", proc.SynchronizingObject); // 연결된 프로세스에서 실행 중인 스레드를 가져오거나 설정합니다. Console.WriteLine("Threads : {0}", proc.Threads); // 해당 프로세스의 총 프로세서 시간을 가져옵니다. Console.WriteLine("TotalProcessorTime : {0}", proc.TotalProcessorTime); // 해당 프로세스의 사용자 프로세서 시간을 가져옵니다. Console.WriteLine("UserProcessorTime : {0}", proc.UserProcessorTime); // 프로세스의 가상 메모리 크기를 가져옵니다. Console.WriteLine("VirtualMemorySize : {0}", proc.VirtualMemorySize); // 연결된 프로세스의 실제 메모리 사용량을 가져옵니다. Console.WriteLine("WorkingSet : {0}", proc.WorkingSet); } } } }