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