Wie töte ich einen Gabelbombenprozess?


11

Ich habe forkbomb von einem normalen Benutzerkonto aus gestartet. Sagen Sie "user1". Ich führe ein Skript aus, das besagt

killall -u user1

Aber es hat die Situation nicht behoben.


Ist das Zurücksetzen der Stromversorgung eine Option?

Gibt es eine andere Option? Ein Neustart löst dieses Problem. Aber es ist keine dauerhafte Lösung.

Antworten:


14

Starten Sie den Computer neu

Wenn Sie nicht können, können Sie versuchen:

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

Wenn mit "dauerhafte Lösung" gemeint ist, dass dies nicht erneut geschieht, können Sie dies nicht wirklich, aber Sie können die ulimitfür die Problembenutzer einfach reduzieren und sie ignorieren.


1
Dank Einstellung Ulimit ist die dauerhafte Lösung, um dies zu verhindern. Aber killall -KILL hat auch für mich funktioniert. Danke
lakshmipathi


0

Ich stimme Colins Antwort zu, aber ich würde -STOP in ein Skript und nice -20 einwickeln, um sicherzustellen, dass das Kill-Skript mehr CPU als die 1000er-Bomben erhält.

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

oder

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

dann

nice --20 ./killscript.sh

und dann, nachdem alle aufgehört haben

killall -KILL bombprocess (Zu diesem Zeitpunkt sollten Sie ps bereits wieder verwenden können.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.