Lecture/Computer

Tasklist

글벌레 2010. 2. 21. 09:18
반응형

다음 지식이나 네이버 지식iN에서 답변을 하다 보면

 

 

위 그림처럼 작업 관리자를 스크린샷으로 잡아서
이상한 프로세스 있나요? 각 프로세스 설명 좀 해 주세요라고 질문이 올라오는 경우가 있습니다.

그래도 위 그림처럼 올라온 경우는 양반이고요.
어떤 경우에는 작업 관리자를 늘리다 늘리다 늘려도 한 화면에 프로세스를 다 담아내지 못해
몇 개의 그림으로 올리는 경우도 있습니다 ㅠ ㅜ

그런데 그렇게 올려놓고 이상한 프로세스만 밝혀 달라는 것도 아니고
각 프로세스 설명도 좀 해 달라고 요구하는 경우도 보이죠.... ㅜ ㅠ

그런 경우 답변자는 정말 열폭(爆)하고 싶어집니다.
그러니 폭발하기 전에 그냥 콱 질문 창을 닫아 버리게 되죠.
그러다가 로그아웃도 안 한 채 창을 닫아 버려서
다시 브라우저 켜고 다시 로그인 후 로그아웃하는 경우까지 생깁니다.

그런데 저런 경우 그나마 목록으로 올려 준다면
답변자 입장에서

1. 답변자도 다 알지는 못합니다.
   그런데 글자로 올렸다면 답변 시에 보충할 필요가 있는 내용 검색이 편해집니다 . 
 

2. 그나마 프로세스 명칭이라도 일일이 치는 수고는 안 해도 되니 
     그나마 열폭은 피할 수 있을 겁니다 .

註 - 보통 사람들이 말하는 爆 과 제가 말한 열폭은 다릅니다 .  

그래서 오늘 주저리주저리 tasklist에 대해 몇 자 적어 봅니다.
이 내용은 시스템을 살펴보려는 사용자들에게도 도움이 되겠지만, 
여지껏 tasklist 명령어를 모르고 있는 경우였다면 더욱더 도움이 될 겁니다.

글은 먼저 살펴보는 방법을 설명 후에 그것을 담아 질문에 올리는 방법을 설명할 겁니다.

먼저 시작> 실행에서 cmd라고 쳐서 명령 프롬프트 창을 띄웁니다.
그리고 Tasklist라고 적고 엔터를 합니다.


그러면 위와 같이 작업 관리자에서 볼 수 있는, 실행 프로세스들이 명령 창에서 뜬 것이 보입니다.
이 프로세스들을 살펴보니 svchost.exe가 참 수상한 프로세스였다고 가정을 해 봅니다.

그런 경우 해당 프로세스의 라이브러리 파일들(.dll)까지 확인을 해 볼 필요가 있을 터인데
그런 경우라면

 tasklist /m /fi "IMAGENAME eq svchost.exe"


 위와 같은 명령어로 svchost.exe에 물린 모든 라이브러리를 보는 것이 가능합니다.


어려워 보이지만 사실 명령어는 간단히 외울 수 있는 정도입니다.

tasklist /m /fi "IMAGENAME eq svchost.exe"
tasklist 는 아실 것이고요 ^ ^*
한칸 띄고 /m > 요건 모듈, 즉 dll 파일들을 표시하라는 소리입니다.
또 한 칸 띄고 /fi 은 /fi 뒤에 써지는 조건(여기서는 IMAGENAME eq svchost.exe)을 만족하라는 것입니다.
" " 는 경로나 명령 등에 빈칸이 존재할 경우 묶어 주어야 하는 표시이고요.
어렵지 않죠?

아래 간단히 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"


그럼 이제 이 걸 복사해야만 질문에 올릴 수가 있겠죠?
우선은

위 그림에서 볼 수 있는 것처럼 CMD (명령 프롬프트 창) 제목 표시줄에 마우스 커서 대고
마우스 오른쪽 버튼을 누르면 뜨는 문맥 메뉴에서 속성을 택해 주세요 .

그러면 아래와 같은 창이 뜨는데

 

위 그림처럼 빠른 편집 모드에 체크를 하고 확인 단추를 눌러 창을 닫으세요.

그러면 이제

 

위 그림처럼 원하는 부분만 드래그가 가능해지는데
요때 빨간 박스 친 명령줄까지 함께 들어가면 안 됩니다.
즉, 명령줄 제외하고 원하는 부분 드래그 후 엔터 키를 치면 해당 내용이 클립보드로 복사되므로
질문 같은데 올리는 게 가능해지죠.... ^ ^*

자 이런 방법을 통해서 스스로도 명령 프롬프트를 통해 시스템을 살펴볼 수도 있지만
이런 방법을
자기 스스로는 파악이 안 되어서 잘 몰라서 질문 올릴 시에 응용 시

우선 tasklist 명령으로 프로세스를 쭉 복사해 질문에 올렸다고 해 봐요.
그럼 답변자가 어떤 프로세스가 수상하니 거기 붙은 라이브러리 좀 재질문으로 보여 주세요라고 한다면
이것도 가능하겠죠?
또 답변자 입장에서 검색도 손쉽고
답변자가 영타로 프로세스 다시 일일이 적어야 하는 수고도 없으므로 프로세스에 대한 설명을 해 줄
확률도 높아지겠죠? 즉, 질문자는 보다 양질의 답변을 얻는 것이 가능한 것이죠........

글벌레의 관련 글들 보기
2009/10/17 - [프로그램 리뷰] - ProcessExplorer
2009/09/09 - [유용한 팁들] - 윈도우가 알려주는 시스템 정보 손쉽게 활용하기


그러고 보니 
이 방법으로 파일 목록도 저장이 가능하겠죠?

다만, 이때 파일이 많이 들어 있는 폴더의 경우는 쫙 넘어가서 앞 부분 내용들이 사라지므로

 

위 그림처럼 /p 명령을사용후 복사하면서 넘기는 게 좋겠죠??
 
그런데 오늘 컴퓨터 이놈아가 돌았나? 
자꾸 혼자서 뭐라 씨부려싸는 것이야? ㅠ ㅜ

반응형