Jak zabić proces widełek?

11

Zacząłem Forkbomb od zwykłego konta użytkownika, powiedz - „użytkownik1” Uruchamiam skrypt, który mówi

killall -u user1

Ale to nie naprawiło sytuacji.

lakshmipathi
źródło
Czy resetowanie zasilania jest opcją?
czy jest jakaś inna opcja? Chociaż ponowne uruchomienie rozwiązuje ten problem. Ale to nie jest trwałe rozwiązanie. Dzięki za odpowiedź

Odpowiedzi:

14

zrestartuj komputer

jeśli nie możesz, możesz spróbować:

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

Jeśli przez „trwałe rozwiązanie” masz na myśli zapobieganie powtórzeniu się tego ulimitproblemu , cóż, nie możesz tak naprawdę, ale możesz po prostu zmniejszyć problem dla użytkowników i zignorować ich.

Colin Pickard
źródło
1
dzięki ustawienie ulimit to trwałe rozwiązanie, aby temu zapobiec. Ale killall -KILL również dla mnie pracował. Dzięki
lakshmipathi
4
while true; do killall -u user1; done
Wolph
źródło
0

Zgadzam się z odpowiedzią Colina, ale zawinię opcję -STOP w skrypt i fajne --20, aby upewnić się, że skrypt zabicia otrzyma więcej jednostek centralnych niż działające bomby 1000.

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

lub

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

następnie

nice --20 ./killscript.sh

a potem, po tym wszystkim, przestaną

killall -KILL bombprocess (Powinieneś już być w stanie ponownie użyć ps w tym momencie)

Roberto Rodriguez Alcala
źródło