방법: 프로세스 중지

업데이트: 2007년 11월

Process 구성 요소를 사용하여 프로세스를 중지할 수 있는 메서드에는 두 가지가 있으며 중지할 프로세스의 형식에 따라 사용하는 메서드가 달라집니다.

  • 프로세스에 그래픽 사용자 인터페이스가 있으면 CloseMainWindow 메서드를 호출합니다. 이 메서드는 프로세스의 주 창에 닫기 요청을 보내며 사용자 인터페이스에서 닫기 명령을 선택하는 것과 동일한 방식으로 동작합니다. 이 메서드를 사용하면 지우기 작업을 수행하는 동안 대상 프로그램에서 사용자가 저장되지 않은 데이터를 저장할 수 있도록 프롬프트를 표시할 수 있습니다.

  • 프로세스에 그래픽 사용자 인터페이스가 없으면 Kill 메서드를 호출합니다.

    주의:

    Kill 메서드를 호출하면 변경된 데이터를 저장할지 여부를 묻는 프롬프트가 표시되지 않고 프로세스가 즉시 중지됩니다. 이때 저장되지 않은 데이터는 모두 잃게 됩니다.

운영 체제에서 프로세스를 종료할 때 이를 구성 요소에 알리려면 EnableRaisingEvents 속성을 true로 설정해야 합니다. EnableRaisingEvents 속성은 응용 프로그램에 프로세스가 종료되었음을 알리기 위해 비동기 처리에서 사용합니다.

프로세스를 중지하려면

  1. GetProcessesByName 메서드를 호출하여 중지할 프로세스를 검색합니다.

    자세한 내용은 방법: 기존 프로세스에 바인딩을 참조하십시오.

  2. 다음 메서드 중 하나를 호출합니다.

    • 프로세스에 사용자 인터페이스가 있으면 CloseMainWindow 메서드를 호출합니다.

    • 프로세스에 창이 없으면 Kill 메서드를 호출합니다.

    다음 예제에서는 CloseMainWindow 메서드를 호출하여 현재 로컬 컴퓨터에서 실행 중인 메모장의 모든 인스턴스를 닫는 방법을 보여 줍니다.

    Dim myProcesses() As Process
    Dim myProcess As Process
    ' Returns array containing all instances of "Notepad".
    myProcesses = Process.GetProcessesByName("Notepad")
    For Each myProcess In myProcesses
        myProcess.CloseMainWindow()
    Next
    
         Process[] myProcesses;
            // Returns array containing all instances of Notepad.
            myProcesses = Process.GetProcessesByName("Notepad");
            foreach (Process myProcess in myProcesses)
            {
                myProcess.CloseMainWindow();
            }
    

참고 항목

작업

방법: 기존 프로세스에 바인딩

개념

Windows 프로세스 모니터링 및 관리 소개

기타 리소스

프로세스 관리