วิธีใดในการเขียนไฟล์. bat ของ Windows เพื่อฆ่ากระบวนการ? [ปิด]


114

ทุกครั้งที่ฉันเปิดเครื่องพัฒนาของ บริษัท ฉันต้องฆ่า 10+ กระบวนการโดยใช้ตัวจัดการงานหรือแอปจัดการกระบวนการอื่น ๆ เพื่อให้ได้ประสิทธิภาพที่ดีจาก IDE ของฉัน ใช่นี่เป็นกระบวนการจากโปรแกรมที่ บริษัท ของฉันติดตั้งบนเครื่องของฉันเพื่อความปลอดภัยและการปฏิบัติตามข้อกำหนด สิ่งที่ฉันต้องการทำคือมีไฟล์. bat หรือสคริปต์บางประเภทซึ่งฉันสามารถฆ่ากระบวนการที่เป็นปัญหาได้

มีใครรู้วิธีทำบ้างไหม?


สิ่งนี้ควรมีประโยชน์เช่นกันเมื่ออยู่ในสภาพแวดล้อมอัตโนมัติและกระบวนการย่อยที่ไม่ใช้งานจะต้องถูกยุติหากไม่สามารถดำเนินการให้เสร็จสิ้นหรือตอบสนองในระยะเวลาที่เหมาะสม
Danny Staple

ฉันโพสต์ลิงก์คำถามนี้ไปยังเพื่อนร่วมงานโดยตรงของฉันทั้งหมดเพราะเราเป็นนักพัฒนา S / W ประมาณ 20 คนใน บริษัท ที่มีวิศวกรวงเวียน 2,000 คน (ทำ CAD) เรากำลังดิ้นรนอย่างถาวรกับฝ่ายบริหารไอทีเพราะ (เนื่องจากนโยบายความปลอดภัย) เราแทบไม่สามารถทำงานของเราได้ ... (มันไม่ได้ช่วยในทางเทคนิค แต่เป็นเรื่องดีที่ได้ยินว่านักพัฒนา S / W รายอื่นดูเหมือนจะมีปัญหาเหมือนกัน .)
Scheff

คำตอบ:


171

คุณสามารถทำได้ด้วย ' taskkill ' ด้วยพารามิเตอร์ / IM คุณสามารถระบุชื่อรูปภาพ

ตัวอย่าง:

taskkill /im somecorporateprocess.exe

คุณสามารถทำได้เพื่อ ' บังคับ ' ฆ่า:

ตัวอย่าง:

taskkill /f /im somecorporateprocess.exe

เพียงเพิ่มหนึ่งบรรทัดต่อกระบวนการที่คุณต้องการฆ่าบันทึกเป็นไฟล์. bat และเพิ่มในไดเร็กทอรีเริ่มต้นของคุณ แก้ไขปัญหา!

หากเป็นระบบเดิมPsKillก็จะทำเช่นเดียวกัน


34
ฮ่า ๆ - "somecorporateprocess.exe" ค่อนข้างสรุปการตัดการเชื่อมต่อไอทีขององค์กรจากทีม dev
maplemale

8
ฉันประสบความสำเร็จtaskkill /F /IM <processname.exe> /Tในการบังคับปิดกระบวนการทั้งหมดด้วยชื่อของพวกเขา
เบญจฯ

ไม่ทำงานบน win10 สำหรับกระบวนการฆ่าพื้นหลัง กระบวนการเบื้องหลังทั้งหมดใน win 10 ที่ตั้งชื่อRuntimeBroker.exeและเมื่อลองฆ่าไม่มีอะไรเกิดขึ้น
Mostafa

106
taskkill /f /im "devenv.exe"

สิ่งนี้จะบังคับให้ฆ่า pid ด้วยชื่อ exe "devenv.exe"

เทียบเท่ากับ -9 บนคำสั่ง nix'y kill


3
มันใช้ไม่ได้จนกว่าฉันจะเพิ่มแฟล็ก / f ในคำสั่ง ขอบคุณ!
Denis M. Kitchen

4
การดำเนินการนี้จะฆ่าทุกรายการที่มีชื่อที่ระบุ มีประโยชน์อย่างยิ่งเมื่อโปรแกรมย้อนกลับและเปิด notepad.exe 1,000 ครั้งในพื้นหลัง:] * ahem *
Richard de Wit

8

เนื่องจาก TASKKILL อาจไม่พร้อมใช้งานในหน้าต่าง Home / basic บางรุ่นที่นี่ทางเลือกบางประการ:

TSKILL processName

หรือ

TSKILL PID

โปรดทราบว่าprocessNameไม่ควรมี.exeคำต่อท้ายและ จำกัด ไว้ที่ 18 อักขระ

อีกทางเลือกหนึ่งคือWMIC:

wmic Path win32_process Where "Caption Like 'MyProcess%.exe'" Call Terminate

wmic ให้ความยืดหยุ่นมากกว่า taskkill ด้วยตัวจับคู่แบบ SQL ด้วยwmic Path win32_process getคุณสามารถดูไฟล์ที่มีอยู่คุณสามารถกรองได้ (และ%สามารถใช้เป็นตัวแทน)


5

ฉันสมมติว่าคุณเป็นนักพัฒนาคุณมีการควบคุมดูแลเครื่องของคุณในระดับหนึ่ง ในกรณีนี้ให้เรียกใช้ msconfig.exe จากบรรทัดคำสั่ง คุณสามารถลบกระบวนการต่างๆได้ตั้งแต่เริ่มต้นดังนั้นจึงไม่จำเป็นต้องฆ่ากระบวนการเหล่านั้นด้วยวิธีแก้ไขปัญหาที่กล่าวมาข้างต้น


5

รับAutorunsจากมาร์ค Russinovich ที่ Sysinternals ผู้ชายที่ค้นพบโซนี่ Rootkit ... ซอฟต์แวร์ที่ดีที่สุดที่ฉันเคยใช้ในการทำความสะอาดสิ่งที่เริ่มต้นโดยอัตโนมัติ


4

ดาวน์โหลดPSKill เขียนไฟล์แบตช์ที่เรียกใช้สำหรับแต่ละกระบวนการที่คุณต้องการตายโดยส่งผ่านชื่อของกระบวนการสำหรับแต่ละกระบวนการ



0

โปรดค้นหาตรรกะด้านล่างที่ทำงานกับเงื่อนไข

ถ้าเราเรียกง่ายๆtaskkill /im applicationname.exeมันจะฆ่าก็ต่อเมื่อกระบวนการนี้กำลังทำงานอยู่ หากกระบวนการนี้ไม่ทำงานจะทำให้เกิดข้อผิดพลาด

ดังนั้นในการตรวจสอบก่อนที่takskillจะเรียกว่าการตรวจสอบสามารถทำได้เพื่อให้แน่ใจว่าการดำเนินการtaskkillจะดำเนินการต่อเมื่อกระบวนการกำลังทำงานอยู่เพื่อที่จะไม่เกิดข้อผิดพลาด

tasklist /fi "imagename eq applicationname.exe" |find ":" > nul

if errorlevel 1 taskkill /f /im "applicationname.exe"

1
ง่ายกว่าเพียงแค่เปลี่ยนเส้นทางข้อความแสดงข้อผิดพลาดtaskkillไปที่nul
Stephan

0

นี่ผมเขียนคำสั่งตัวอย่างที่คุณสามารถวางไว้ในพรอมต์บรรทัดคำสั่งและถูกเขียนขึ้นสำหรับcmdchrome.exe

FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)

for just ใช้เวลาทั้งหมดที่PIDระบุไว้ในtasklistคำสั่งด้านล่างและดำเนินการTASKKILL /PIDในทุกๆPID

tasklist /FO Table /M "chrome*" /NH

หากคุณใช้ for ในไฟล์แบตช์ให้ใช้ %% P แทน% P

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.