ค้นหาเว็บไซต์

กระบวนการ 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 ตามชื่อ

บทความที่เกี่ยวข้อง