윈도 프로세스 명령 TASKLIST

윈도도 프로세스와 연관된 명령 도구로 tasklist를 제공하고 있다. 이 명령은 이름으로 task와 list가 결합한 태스크 목록 명령으로 쉽게 유추해 볼 수 있고, 유추한 내용이 맞다. 리눅스나 유닉스의 경우에는 ps를 사용해서 비슷한 동작을 처리할 수 있다. 이 명령을 사용하는 형태에 대해서 살펴보자.

1. tasklist /?

이 명령으로 tasklist 명령으로 사용할 수 있는 파라미터와 예제를 확인할 수 있고, 그 내용은 아래에서 확인할 수 있다.

TASKLIST [/S 시스템 [/U 사용자 이름 [/P [암호]]]]
[/M [모듈] | /SVC | /V] [/FI 필터] [/FO 형식] [/NH]

설명:
이 명령줄 도구는 현재 로컬 또는 원격 시스템에서 실행되고 있는 응용 프로그램 및 관련 작업/프로세스 목록을 표시합니다.

매개 변수 목록:
/S 시스템 연결할 원격 시스템을 지정합니다.
/U [domain\]user 명령을 실행해야 하는 사용자 컨텍스트를 지정합니다.
/P [암호] 해당 사용자 컨텍스트의 암호를 지정합니다. 생략한 경우에는 물어봅니다.
/M [모듈] 해당 패턴 이름과 일치하며 DLL 모듈이 로드된 모든 작업을 나열합니다. 모듈 이름을 지정하지 않으면 각 작업에서 로드한 모든 모듈을 표시합니다.
/SVC 각 프로세스에 있는 서비스를 표시합니다.
/V 자세한 정보를 표시하도록 지정합니다.
/FI 필터 필터에서 지정한 조건과 일치하는 작업 집합을 표시합니다.
/FO 형식 출력 형식을 지정합니다. 사용할 수 있는 값: “TABLE”, “LIST”, “CSV”.
/NH 출력에 표시하지 않을 “열 머리글”을 지정합니다. “TABLE”과 “CSV” 형식에서만 사용할 수 있습니다.
/? 이 도움말/사용법을 표시합니다.

필터:
필터 이름 유효한 연산자 유효한 값
———– ————— ————–
STATUS eq, ne RUNNING | NOT
RESPONDING
IMAGENAME eq, ne 이미지 이름
PID eq, ne, gt, lt, ge, le PID 값
SESSION eq, ne, gt, lt, ge, le 세션 번호
SESSIONNAME eq, ne 세션 이름
CPUTIME eq, ne, gt, lt, ge, le CPU 시간
(hh:mm:ss 형식)
hh – 시간,
mm – 분, ss – 초
MEMUSAGE eq, ne, gt, lt, ge, le 메모리 사용(KB)
USERNAME eq, ne 사용자 이름([domain\]user 형식)
SERVICES eq, ne 서비스 이름
WINDOWTITLE eq, ne 창 제목
MODULES eq, ne DLL 이름

예:
TASKLIST
TASKLIST /M
TASKLIST /V
TASKLIST /SVC
TASKLIST /M wbem*
TASKLIST /S 시스템 /FO LIST
TASKLIST /S 시스템 /U domain\username /FO CSV /NH
TASKLIST /S 시스템 /U 사용자 이름 /P 암호 /FO TABLE /NH
TASKLIST /FI “USERNAME ne NT AUTHORITY\SYSTEM” /FI “STATUS eq running”

2. tasklist

이 명령을 사용해서 현재 실행하고 있는 프로세스에 대한 정보를 가져올 수 있다. Image Name이 프로세스 이름이고 PID가 프로세스 ID이다. 그리고 Mem Usage가 메모리 사용량이다.

3. tasklist /m

이 명령으로 프로세스별로 의존하는 라이브러리(dll)를 확인할 수 있다.

4. tasklist /m xxx.dll

이 명령으로 라이브러리(dll)에 의존하는 프로세스 목록을 확인할 수 있다.

그 외에 자주 사용할 수 있는 명령으로 탐색기를 멈췄다가 다시 시작하는 명령은 다음과 같이 실행시킬 수 있다. 아래의 명령은 Administrator 권한을 가지고 cmd를 열고, 실행하면 된다.

taskkill /f /im explorer.exe
explorer.exe & exit

윈도에서 간혹 dll을 삭제하려고 시도하는 경우, 삭제할 수 없다는 메세지를 볼 수 있다. 이런 경우는 특정 프로세스가 dll을 로딩하고 있으므로 발생한다. 그래서 tasklist /m xxx.dll을 사용해서 이 dll을 사용하는 특정 프로세스를 종료하고 삭제를 할 수 있다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.