Ради удовольствия запустите следующую программу (переведенную на выбранный вами язык реализации) в фоновом режиме в системе с учетом пользовательских процессов и ограничениями.
while(true) fork();
Теперь, когда каждый слот в таблице процессов, который вам разрешено использовать, заполнен копиями этой запущенной программы, как вы собираетесь ее убить? Для запуска kill (1) требуется еще один слот процесса, которого у вас не может быть. Было бы удобно, если бы оболочка заменила себя командой kill ...
exec /bin/kill -9 -1
(Предполагается, что в вашей системе есть kill (1) в / bin / kill. "Exec` which kill` -9 -1 "потенциально безопаснее .) Это отправляет SIGKILL каждому процессу, который вы можете.
(Примечание: не выходите из своей запускающей оболочки, если только ограничения процесса всегда разрешают новый вход в слот процесса для его оболочки. Это может быть немного сложнее очистить, если вы это сделаете. Я, конечно, не делал это в начале 90-х. Нет.)