Wednesday, July 25, 2007

Find the name of running's program from PID

การตรวจสอบโปรแกรมที่กำลังทำงานจากหมายเลข PID
หลายๆ ครั้งที่ผมต้องการตรวจสอบ ว่าโปรแกรมอะไรที่กำลังรันอยู่บ้าง วิธีการที่ง่ายและธรรมดาที่สุด คือใช้ Task Manager จากนั้นคลิกที่แท็ป Process ซึ่งจะได้หน้าต่างดังรูปที่ 1 โดย Task Manager (ในกรณีที่ไม่มีคอลัมน์ PID ให้คลิกที่เมนู View แล้วคลิก Select Columns จากนั้นคลิกเลือก PID เสร็จแล้ว OK) จะแสดงให้เห็นว่ามีโปรแกรมอะไรที่กำลังรันอยู่บ้าง แต่หากโปรแกรมที่ทำการรันภายใต้โพรเซส svchost.exe นั้น ก็จะไม่ทราบรายละเอียดว่าจริงๆ แล้วโปรแกรมอะไรที่รันอยู่ ซึ่งหากต้องการตรวจสอบว่าโปรแกรมที่รันภายใต้โพรเซส svchost.exe นั้น เป็นโปรแกรมอะไรโดยการใช้คำสั่ง Tasklist ซึ่งเป็นคำสั่งแบบ command-line รันจากคอมมานด์พร็อมท์ ช่วยในการตรวจสอบ ซึ่งมีขั้นตอนดังนี้

1. เปิด Task Manager โดยการคลิกขวาที่ Task Bar แล้วเลือก Task Manager จากนั้น ก็คลิกที่แท็ป Process จะได้หน้าต่างดังรูปที่ 1
2. ในกรณีที่ไม่แสดงคอลัมน์ PID ให้คลิกที่เมนู View แล้วคลิก Select Columns จากนั้นคลิกเลือก PID เสร็จแล้ว OK
3. จากนั้นให้ดูที่ PID ที่ต้องการหาว่าเป็นของโปรแกรมอะไร ในที่นี้เลือก PID = 1552


รูปที่ 1 Windows Task Manager

4. เมื่อทราบ PID แล้ว ขั้นตอนต่อไปให้รันคำสั่ง tasklist /svc ซึ่งจะได้หน้าต่างดังรูปที่ 2 โดยจะทำการแสดงข้อมูลต่างสามคอลัมน์ (จากซ้ายมือ)คือ Image Name, PID และ Services ซึ่งช่วยให้ทราบได้ว่าโปรแกรมใดกำลังรันบนโพรเซสอะไรอยู่ ในที่นี้ คือ PID = 1552, Services = Dnscache


รูปที่ 2 Tasklist

5. หากต้องการดูรายละเอียดเพิ่มเติมก็ให้เปิด MSConfig แล้วคลิกแท็บ Services จากนั้นมองหาชื่อ Service ที่ได้จากขั้นตอนที่ 4

หมายเหตุ: เครื่องมือ Process Explorer ของ Sysinternals สามารถทำงานเดียวกันนี้ได้อย่างดีเยี่ยม โอกาสหน้าแล้วจะโพสต์ให้อ่านกันครับ

Copyright © 2007 TWA Blog. All Rights Reserved.

0 Comment: