จะฆ่ากระบวนการซอมบี้หรือค้นหาว่าเป็นกระบวนการหลักใน Mac โดยใช้ Terminal ได้อย่างไร
kill
สัญญาณใดที่ใช้งานได้กับซอมบี้ IIRC ฉันเคยเกิดสิ่งนี้มาก่อน
จะฆ่ากระบวนการซอมบี้หรือค้นหาว่าเป็นกระบวนการหลักใน Mac โดยใช้ Terminal ได้อย่างไร
kill
สัญญาณใดที่ใช้งานได้กับซอมบี้ IIRC ฉันเคยเกิดสิ่งนี้มาก่อน
คำตอบ:
Hack Saw พูดว่า:
น่าเศร้าที่ดูเหมือนว่าการฆ่าซอมบี้นั้นเกี่ยวกับการฆ่าพ่อแม่และถ้าพ่อแม่เป็น / sbin / launchd คุณสามารถฆ่ามันได้ก็ต่อเมื่อรีบูตเท่านั้น
เป็นความคิดที่แย่มากที่จะฆ่าlaunchd
แต่คุณสามารถบอก HUP ได้
ลอง sudo kill -s HUP 1
ที่จะทำให้launchd
เริ่มต้นใหม่โดยไม่ต้องเริ่มต้นใหม่ สิ่งนี้ได้ผลสำหรับฉันในอดีต (wrt. การลบรายการซอมบี้)
น่าเศร้าที่ดูเหมือนว่าการฆ่าซอมบี้นั้นเกี่ยวกับการฆ่าพ่อแม่และถ้าพ่อแม่เป็น / sbin / launchd คุณสามารถฆ่ามันได้ก็ต่อเมื่อรีบูตเท่านั้น
ฉันได้รับซอมบี้จากการใช้ Xcode และหยุดการจำลองและมันก็ส่งมอบซอมบี้ให้กับส่วนตัวของฉัน / sbin / launchd ซึ่งไม่ได้หายไปเมื่อฉันออกจากระบบ
ps -xo pid, ppid, stat, คำสั่งจะแสดงโปรเซสของคุณพร้อม ID พาเรนต์ในคอลัมน์ที่สอง
กระบวนการซอมบี้ตายไปแล้วและไม่สามารถฆ่าได้ ควรลบออกจากตารางกระบวนการโดยอัตโนมัติเมื่อกระบวนการหลักตาย
พวกเขาจะไม่ทำให้เครื่องของคุณช้าลงและคุณสามารถปล่อยให้มันอยู่ในนั้นได้ (เป็นเพียงรายการในตารางกระบวนการ)
มีจำนวนสูงสุดของกระบวนการ (คุณสามารถตรวจสอบได้sysctl kern.maxproc
) และกระบวนการซอมบี้จะลดจำนวนลง (ตามที่นับ)
หากคุณถึงขีด จำกัด นี้คุณจะไม่สามารถสร้างกระบวนการใหม่และคุณจะถูกบังคับให้รีบูต