Friday, January 3, 2014

แกะรอย process name by listening port number

  • ประเด็นมีอยู่ว่า จะติดตั้ง MySQL ที่ Server 2003 ลองใช้คำสั่งดูสิว่าเราติดตั้งไปแล้วหรือยัง 3306 ด้วยคำสั่ง
netstat -na | find ":3306"
--->>> TCP 10.x.x.x:3306     202.28.x.x:0        LISTENING
  • ดูจากผลลัพธ์ แสดงว่ามี process ใช้ port 3306 ไปแล้ว อืม นึกในใจเราติดตั้ง MySQL ไปแล้วหรือ
  • ค้นหาพาธของ MySQL ใน C:\Program Files\ อืม ไม่พบ
  • หรือเราติดตั้ง AppServ เปล่าหว่า อืม ไม่มี อ้าว แล้วแอพไรวะ ที่มันเอาพอร์ต 3306 เราไปกินแล้วซะงั้น งง เลยทำไงล่ะทีนี้จะรู้ได้ไง
Solved 
  • ขั้นแรกหาก่อนว่า process id อะไรที่มันเปิดพอร์ต 3306 เราด้วยคำสั่ง โดยใช้ netstat ที่มี option -o (โอ) เพิ่มเข้ามา เพื่อบอก pid owner port
netstat -nao | find ":3306"
--->>> TCP 10.x.x.x:3306     202.x.x.x:0        LISTENING   PID
  • PID ที่อยู่ท้ายสุดของ output นั่นแหละคือ PID ที่มันใช้พอร์ต 3306 เราอยู่
  • เมื่อเราทราบ PID แล้วก็ตามด้วยคำสั่ง ที่หาชื่อ Process name จาก PID
tasklist | find "PID"
--->>> Image Name            PID           Session Name    Session#     Mem Usage
--->>> =====================================
--->>> app/service.exe       1668      Console/Services             0       431,040 K
  • เมื่อเราทราบค่า Process name = Image Name แล้วก็ไปจัดการกับแอฟนั้นต่อได้เลย โดยปิดมัน แล้วลง MySQL เราซะ จบ
เพิ่มเติม
  • การดู PID ใน Task Manager 
  • To learn the PID (process ID) of a process running in MS Windows: 
  • In Windows Task Manager
  • Invoke Windows Task Manager and go to the Processes tab;
  • Open the View menu and choose Select Columns; 

อ้างอิง

No comments:

Post a Comment