본문 바로가기
IT Tips

윈도우즈에서의 프로그램 종료 방법 총정리

by SenseChef 2012. 7. 19.

 

윈도우즈 운영체제를 사용하다 보면 소프트웨어가 중간에 멈추거나 에러가 나서 이를 강제로 종료해야 하는 경우가 발생하곤 합니다. 그런데 이것을 작업 관리자 프로그램을 띄워 일일이 처리 하기에는 불편하며, 한번에 여러 소프트웨어를 종료 시켜야 하는 경우도 있기에 다른 방법이 필요합니다.


이런 경우 윈도우즈가 지원하는 Taskkill이라는 소프트웨어를 이용하면 편리하며, 배치 화일로도 처리가 가능합니다.


우선 종료코자 하는 프로그램을 찾아야 하는데 이는 작업 관리자를 통해 확인 가능합니다.


작업관리자를 실행 하려면 윈도우즈의 바탕 화면 하단 제목 줄 빈 곳에 마우스를 위치 시킨 후 오른쪽 버튼을 눌러 작업 관리자를 선택해도 되며, CTRL+ALT+DEL 키를 눌러 작업관리자를 실행 시켜도 됩니다.


여기서는 Evernote.exe라는 메모장 소프트웨어를 예로 들겠습니다. 하단의 작업 관리자를 보면 Evernote 관련 소프트웨어 프로세스가 3개나 존재합니다. 작업 관리자에서 대상 프로그램의 정확한 이름을 찾아냅니다. Evernote의 경우 Evernote.exe입니다.





이제는 MS-DOS 명령창을 엽니다. 윈도우즈 프로그램 목록에서 선택하거나 실행(Run) 영역에서 CMD를 입력해도 됩니다.

그러면 아래와 같이 검은색의 창이 나타납니다.




이때 taskkill /f /t /im evernote.exe라는 명령을 위의 사진처럼 입력합니다.

 

Taskkill은 프로세스를 중단 시키는 프로그램

/f는 강제적으로 프로세스 중단 옵션

/t는 주어진 프로그램이 띄운 자식 프로그램까지 모두 중단 시키라는 옵션. Evernote.exe의 경우 자신 외에도 프로그램이 실행되면서 2개의 프로그램이 더 실행 되는데 이를 한꺼번에 처리하라는 의미

/im은 프로그램의 이름을 지정하겠다는 의미

evernote.exe는 프로세스를 중단 시키고자 하는 프로그램 이름


taskkill 명령을 예제처럼 실행하면 위의 화면처럼 evernote.exe와 연계되어 있는 3개의 프로그램이 모두 종료 됩니다.


이 외에도 Taskkill의 다른 옵션들이 있으며, 세부적인 내용은 최 하단 사항을 참조 하시기 바랍니다.

/S 옵션을 주면 로컬 컴퓨터가 아닌 원격지 컴퓨터의 프로세스를 중단 시킬 수도 있으며, /PID를 통해 프로그램의 이름이 아닌 프로세스 번호로 지정도 가능합니다.


본인은 제가 필요로 하지 않는 프로그램들의 실행을 중단 시키기 위해 아래와 같이 배치 화일을 만들어 이용합니다.

관심 있는 분들은 다운 받아 각자의 필요 사항에 맞게 변경, 활용 하시기 바랍니다.



Kill_task.bat



기타 추가 문의 사항 있으시면 댓글 등으로 연락 주시기 바랍니다.


감사합니다.


Taskkill 명령 세부 옵션

=====================================================

TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

Description:
    This command line tool can be used to end one or more processes.
    Processes can be killed by the process id or image name.

Parameter List:
    /S    system           Specifies the remote system to connect to.

    /U    [domain\]user    Specifies the user context under which
                           the command should execute.

    /P    [password]       Specifies the password for the given
                           user context. Prompts for input if omitted.

    /F                     Specifies to forcefully terminate
                           process(es).

    /FI   filter           Displays a set of tasks that match a
                           given criteria specified by the filter.

    /PID  process id       Specifies the PID of the process that
                           has to be terminated.

    /IM   image name       Specifies the image name of the process
                           that has to be terminated. Wildcard '*'
                           can be used to specify all image names.

    /T                     Tree kill: terminates the specified process
                           and any child processes which were started by it.

    /?                     Displays this help/usage.

Filters:
    Filter Name   Valid Operators           Valid Value(s)
    -----------   ---------------           --------------
    STATUS        eq, ne                    RUNNING | NOT RESPONDING
    IMAGENAME     eq, ne                    Image name
    PID           eq, ne, gt, lt, ge, le    PID value
    SESSION       eq, ne, gt, lt, ge, le    Session number.
    CPUTIME       eq, ne, gt, lt, ge, le    CPU time in the format
                                            of hh:mm:ss.
                                            hh - hours,
                                            mm - minutes, ss - seconds
    MEMUSAGE      eq, ne, gt, lt, ge, le    Memory usage in KB
    USERNAME      eq, ne                    User name in [domain\]user
                                            format
    MODULES       eq, ne                    DLL name
    SERVICES      eq, ne                    Service name
    WINDOWTITLE   eq, ne                    Window title

NOTE: Wildcard '*' for the /IM switch is accepted only with filters.

NOTE: Termination of remote processes will always be done forcefully
      irrespective of whether /F option is specified or not.

Examples:
    TASKKILL /S system /F /IM notepad.exe /T
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM notepad.exe /IM mspaint.exe
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"