บริการที่ค้างที่ Stopping...
สแนปอินแสดง Stopping แล้วไม่ขยับอีก คำตอบปกติคือ Task Manager การเดาว่ามันอยู่ใน svchost.exe ตัวไหน และ End task ซึ่งจบทุกบริการอื่นในกระบวนการนั้นด้วยโดยไม่บอกคุณว่าตัวไหนบ้าง
ทำไมจึงเกิด
- บริการไม่ตอบคำขอหยุด Windows ขอดีๆ แล้วรอ บริการที่ค้าง หรือกำลังรอบางอย่างที่จะไม่กลับมา จะไม่มีวันตอบ
- มีบางอย่างที่ขึ้นอยู่กับมันยังทำงานอยู่ ตัวจัดการปฏิเสธการหยุดแทนที่จะทำให้อีกตัวพัง และสแนปอินแสดงเรื่องนี้เป็นการรอ
- มันใช้กระบวนการร่วมกับตัวอื่น บริการ Windows ส่วนใหญ่อยู่ภายใน
svchost.exeที่ใช้ร่วมกัน การจบกระบวนการนั้นจบทั้งหมดของพวกมัน ซึ่งเป็นสิ่งที่ Task Manager ทำโดยไม่บอกชื่อ
ดูก่อนจะจบอะไร
ถามว่าการจบมันจะพาอะไรไปด้วย ไม่มีอะไรเกิดขึ้นจนกว่าคุณจะเอา --dry-run ออก
$ bws kill Spooler --dry-run
ตัวอย่างระบุกระบวนการด้วยหมายเลข บอกชื่อทุกบริการอื่นที่อยู่ในนั้น และแสดงสองขั้นตอนแทนที่จะเป็นหนึ่ง: ขอให้บริการหยุด และเฉพาะเมื่อวิธีนั้นไม่ได้ผล จบกระบวนการ บริการที่หยุดเองได้จะไม่ถูกจบ
--forceข้ามขั้นตอนที่สุภาพ และจบกระบวนการทันที มันเปลี่ยนแผนไม่ใช่การรันแผน ตัวอย่างจึงแสดงหนึ่งขั้นตอนแทนที่จะเป็นสอง และเห็นความต่างได้ก่อนจะมีอะไรเกิดขึ้น--restartนำทุกอย่างกลับมา เมื่อกระบวนการหายไป รายการที่คุณถามถึงและทุกอย่างที่ใช้กระบวนการร่วมกัน ถ้าไม่มี เครื่องจะเหลือบริการเหล่านั้นที่หยุดอยู่ และรายงานบอกวิธีเริ่มมันอีกครั้ง
- การปฏิเสธมาก่อนปุ่ม ไดรเวอร์ กระบวนการที่ระบบป้องกัน บริการที่ตัวจัดการไม่ยอมรับคำขอหยุด จะถูกปฏิเสธตั้งแต่สร้างแผนพร้อมเหตุผล ไม่ใช่หลังรอ 60 วินาที
- คำเตือนเมื่อสำคัญ ถ้ารายการนั้นเป็นสิ่งที่เครื่องทำงานไม่ได้ถ้าไม่มี แผนจะบอกไว้ การหยุดมันทำให้ทั้งเครื่องล้ม ไม่ใช่แค่บริการ
การจบกระบวนการเป็นสิ่งเดียวที่เครื่องมือนี้ทำซึ่งไม่มีใครปฏิเสธแทนเครื่องได้ นั่นคือเหตุผลที่มันเป็นคำสั่งของตัวเอง เหตุผลที่ตัวอย่างบอกชื่อทุกบริการที่มันพาไปด้วย และเหตุผลที่ขั้นตอนที่สุภาพมาก่อนเสมอเว้นแต่คุณบอกเป็นอย่างอื่น
ลำดับที่ปลอดภัยกว่า
- ดูว่ามันคืออะไร
bws show Spoolerกระบวนการ สิ่งที่ขึ้นอยู่กับมัน สิ่งที่มันขึ้นอยู่กับ และมันรับคำขอหยุดหรือไม่ - ลองการหยุดธรรมดา ในรูปแบบแผน
bws stop Spooler --dry-run --dependentsถ้าคำตอบคือการปฏิเสธ มันบอกว่าเป็นหนึ่งในสามเหตุผลข้อไหน - ถ้ามันหยุดไม่ลง ดูว่าการจบมันมีราคาเท่าไร
bws kill Spooler --dry-runและอ่านรายชื่อบริการที่ใช้กระบวนการนั้นร่วมกัน - แล้วลงมือ พร้อมทางกลับ
bws kill Spooler --restartรายงานจบด้วยสิ่งที่ไม่สำเร็จและคำสั่งที่นำสิ่งต่างๆ กลับคืน
ทั้งสี่ขั้นทำงานแบบเดียวกันในหน้าต่าง: คลิกขวาที่แถว เลือก Force stop... อ่านแผน และปุ่มใต้แผนตั้งชื่อตามสิ่งที่มันจะทำ
ทำไมไม่ใช้ Task Manager
เพราะมันตอบคำถามอื่น Task Manager รู้เรื่องกระบวนการ และปัญหานี้เกี่ยวกับบริการ ซึ่งสองอย่างนี้ไม่ตรงกันแบบหนึ่งต่อหนึ่ง
svchost.exe ที่ใช้ร่วมกันหนึ่งตัวรองรับบริการได้เป็นโหล Task Manager จะจบมันโดยไม่บอกว่า 12 ตัวไหน ไม่มีตัวไหนกลับมาเอง และไม่มีอะไรหลังจากนั้นบอกคุณว่าอะไรหยุด EDR ที่แจ้งเตือนกระบวนการที่จบ svchost.exe กำลังทำหน้าที่ของมัน และมันแยกการคลิกของคุณออกจากอย่างอื่นไม่ได้