กระบวนการ PowerShell Kill ตามชื่อ [4 วิธี]
ใช้ Stop-Process Cmdlet
ใช้ cmdlet Stop-Process เพื่อปิดกระบวนการตามชื่อใน PowerShell
ใช้ Stop-Process Cmdlet:
Stop-Process -Name "process_name"คำสั่ง Stop-Process หยุดกระบวนการตามชื่อ พารามิเตอร์ -Name ระบุชื่อของกระบวนการที่จะหยุด เช่น หากคุณต้องการหยุดโปรแกรมแผ่นจดบันทึก ให้เขียน Stop-Process -Name "notepad"
คุณสามารถตรวจสอบกระบวนการทำงานทั้งหมดได้ด้วยคำสั่ง
tasklist
ใช้ Stop-Process กับ Where-Object Cmdlet
ใช้ Stop-Process กับ Where-Object cmdlet เพื่อฆ่ากระบวนการตามชื่อใน PowerShell
ใช้ Stop-Process กับ Where-Object:
Get-Process | Where-Object {$_.Name -eq "process_name"} | Stop-Processขั้นแรก คำสั่ง Get-Process จะดึงกระบวนการที่กำลังทำงานอยู่ทั้งหมด จากนั้นคำสั่ง Where-Object จะกรองผลลัพธ์เพื่อรวมเฉพาะกระบวนการที่มีชื่อที่ระบุเท่านั้น สุดท้าย ไปป์ไลน์ (|) ส่งผลลัพธ์ที่กรองแล้วไปยัง Stop-Process cmdlet ซึ่งหยุดกระบวนการ ในวิธีนี้ ให้เขียนเฉพาะชื่อของกระบวนการเท่านั้น กล่าวคือ โดยไม่มีนามสกุล ตัวอย่างเช่น อย่าเขียน "notepad.exe" แทน ให้เขียน "notepad"
การใช้ Get-ProcessCmdlet พร้อมรหัสกระบวนการ
ใช้ Get-Process cmdlet พร้อมด้วยรหัสกระบวนการเพื่อปิดกระบวนการใน PowerShell
ใช้ Get-Process กับรหัสกระบวนการ:
$process = Get-Process -Name "process_name"
Stop-Process -Id $process.Idในโซลูชันนี้ คำสั่ง Get-Process จะดึงข้อมูลวัตถุกระบวนการ วัตถุกระบวนการถูกดึงข้อมูลตามชื่อเนื่องจากการใช้พารามิเตอร์ -Name ออบเจ็กต์กระบวนการรวมข้อมูลเกี่ยวกับกระบวนการ รวมถึง ID ของกระบวนการด้วย วัตถุกระบวนการนี้ถูกเก็บไว้ในตัวแปร PowerShell ชื่อ $process
จากนั้น คำสั่ง Stop-Process จะหยุดกระบวนการด้วย ID ตัวอย่างเช่น โค้ดด้านบนจะหยุดอินสแตนซ์ของกระบวนการ "notepad" ด้วย ID กระบวนการที่ต่ำที่สุด หากเราแทนที่ process_name ด้วย notepad ในวิธีนี้ ให้เขียนเฉพาะชื่อของกระบวนการโดยไม่มีนามสกุล ตัวอย่างเช่น อย่าเขียน "notepad.exe" แทน ให้เขียน "notepad"
ใช้วิธี Terminate()
ใช้เมธอด Terminate() เพื่อปิดกระบวนการตามชื่อใน PowerShell
ใช้วิธียุติ():
$process = Get-WmiObject -Class Win32_Process -Filter "Name='process_name.extention'"
$process.Terminate()Get-WmiObject cmdlet ใช้เพื่อดึงข้อมูลวัตถุกระบวนการสำหรับกระบวนการตามชื่อ ต่อไป เราใช้คลาส Win32_Process เพื่อเข้าถึงข้อมูลที่เกี่ยวข้องกับกระบวนการในเนมสเปซ Windows Management Instrumentation (WMI) หลังจากนั้น ผลลัพธ์จะถูกกรองเพื่อรวมเฉพาะกระบวนการที่มีชื่อเฉพาะโดยใช้พารามิเตอร์ -Filter
วัตถุกระบวนการจะถูกเก็บไว้ในตัวแปร PowerShell ชื่อ $process สุดท้าย Terminate() วิธีการหยุดกระบวนการ อย่าลืมเขียนส่วนขยายของกระบวนการ ตัวอย่างเช่น หากคุณกำลังยุติแอปพลิเคชัน Paint ให้เขียน mspaint.exe ในเครื่องหมายคำพูดคู่
ใช้คำสั่ง taskkill
ใช้คำสั่ง taskkill เพื่อปิดกระบวนการตามชื่อใน PowerShell
ใช้คำสั่ง Taskkill:
taskkill /F /IM "process_name.extention"คำสั่ง taskkill หยุดกระบวนการด้วย ชื่อ สวิตช์ /F บังคับให้กระบวนการยุติการทำงาน สวิตช์ /IM ระบุชื่อรูปภาพของกระบวนการที่จะหยุด อย่าลืมเขียนส่วนขยายของกระบวนการ ตัวอย่างเช่น หากคุณกำลังยุติแอปพลิเคชัน Paint ให้เขียน mspaint.exe ในเครื่องหมายคำพูดคู่
หากคุณต้องการตรวจสอบงานที่กำลังทำงานอยู่ ให้ใช้คำสั่งรายการงาน
ตรวจสอบงานปัจจุบัน:
tasklist | more เอาท์พุต :
Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Services 0 8 K
System 4 Services 0 144 K
Registry 160 Services 0 77,324 K
smss.exe 520 Services 0 1,240 K
csrss.exe 828 Services 0 6,328 K
wininit.exe 908 Services 0 7,092 K
csrss.exe 928 Console 1 6,896 K
services.exe 980 Services 0 10,264 K
lsass.exe 996 Services 0 21,228 K
winlogon.exe 740 Console 1 11,960 K
svchost.exe 1056 Services 0 35,724 K
fontdrvhost.exe 1084 Services 0 3,816 K
fontdrvhost.exe 1092 Console 1 7,748 K
WUDFHost.exe 1188 Services 0 6,996 K
svchost.exe 1228 Services 0 15,944 K
svchost.exe 1280 Services 0 9,032 Kนั่นคือทั้งหมดที่เกี่ยวกับกระบวนการฆ่า PowerShell ตามชื่อ
