Comment tuer un processus forkbomb?

11

J'ai commencé forkbomb à partir du compte utilisateur normal, disons - "user1" J'exécute un script qui dit

killall -u user1

Mais cela n'a pas réglé la situation.

lakshmipathi
la source
La réinitialisation de l'alimentation est-elle une option?
existe-t-il une autre option? Bien que le redémarrage résout ce problème. Mais ce n'est pas une solution permanente

Réponses:

14

redémarrez l'ordinateur

si vous ne pouvez pas, vous pouvez essayer:

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

Si par "solution permanente", vous entendez empêcher que cela ne se reproduise, eh bien vous ne pouvez pas vraiment, mais vous pouvez simplement réduire ulimitles problèmes pour les utilisateurs et les ignorer.

Colin Pickard
la source
1
Merci de définir ulimit est la solution permanente pour l'empêcher. Mais killall -KILL a également fonctionné pour moi.Merci
lakshmipathi
4
while true; do killall -u user1; done
Wolph
la source
0

Je suis d'accord avec la réponse de Colin, mais j'emballerais le -STOP dans un script et gentil --20 pour m'assurer que le script de kill obtient plus de cpu que les bombes de 1000s en cours d'exécution.

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

ou

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

puis

nice --20 ./killscript.sh

puis, après que tous s'arrêtent

killall -KILL bombprocess (Vous devriez déjà être en mesure d'utiliser à nouveau ps à ce stade)

Roberto Rodriguez Alcala
la source