ฉันจะฆ่ากระบวนการ forkbomb ได้อย่างไร


11

ฉันเริ่ม forkbomb จากบัญชีผู้ใช้ปกติพูดว่า - "user1" ฉันกำลังเรียกใช้สคริปต์ที่ระบุว่า

killall -u user1

แต่มันก็ไม่ได้แก้ไขสถานการณ์


กำลังรีเซ็ตตัวเลือกการใช้พลังงานหรือไม่?

มีตัวเลือกอื่น ๆ อีกไหม? แม้ว่าการรีบูตจะแก้ไขปัญหานี้ได้ แต่มันไม่ใช่ทางออกที่ถาวรขอคำตอบ

คำตอบ:


14

รีบูทคอมพิวเตอร์

หากคุณทำไม่ได้คุณสามารถลอง:

killall -STOP -u user1
killall -KILL -u user1

หากโดย "วิธีแก้ปัญหาถาวร" คุณหมายถึงการป้องกันไม่ให้เกิดเหตุการณ์เช่นนี้อีกครั้งคุณไม่สามารถทำได้จริง ๆ แต่คุณสามารถลดulimitปัญหาที่ผู้ใช้มีปัญหาและเพิกเฉยได้


1
ขอบคุณ ulimit การตั้งค่าเป็นทางออกถาวรเพื่อป้องกันไม่ให้มัน แต่คิลล์ - คิลก็ทำงานเพื่อฉันด้วยขอบคุณ
lakshmipathi


0

ฉันเห็นด้วยกับคำตอบของโคลิน แต่ฉันจะใส่ -STOP ลงในสคริปต์และดี --20 เพื่อให้แน่ใจว่าสคริปต์การฆ่าได้รับ cpu มากกว่าระเบิด 1,000 ครั้งที่ทำงานอยู่

echo "while [ 1 ]; do killall -STOP bombprocess ; done" > killscript.sh

หรือ

echo "while [ 1 ]; do killall -STOP -u userrunningthebomb ; done" > killscript.sh

แล้วก็

nice --20 ./killscript.sh

และหลังจากนั้นพวกเขาก็หยุด

killall -KILL bombprocess (คุณควรจะสามารถใช้ ps ได้อีกในตอนนี้)

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