Как я могу убить процесс forkbomb?

11

Я запустил forkbomb из учетной записи обычного пользователя и скажу: «user1». Я запускаю скрипт, который говорит:

killall -u user1

Но это не исправило ситуацию.

lakshmipathi
источник
Сброс питания вариант?
есть ли другой вариант? Хотя перезагрузка решает эту проблему. Но это не постоянное решение.

Ответы:

14

перезагрузите компьютер

если вы не можете, вы можете попробовать:

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

Если под «постоянным решением» вы подразумеваете предотвращение этого повторения, ну, на самом деле, вы не можете, но вы можете просто уменьшить количество ulimitпроблемных пользователей и игнорировать их.

Колин Пикард
источник
1
Благодаря настройке ulimit это постоянное решение для предотвращения этого. Но killall -KILL также работал на меня. Спасибо
lakshmipathi
0

Я согласен с ответом Колина, но я бы включил -STOP в скрипт и неплохо --20, чтобы гарантировать, что скрипт kill получит больше процессоров, чем запущенные бомбы 1000-х годов.

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)

Роберто Родригес Алкала
источник