Recientemente estuve desenterrando información sobre procesos en GNU / Linux y conocí la infame bomba tenedor:
:(){ : | :& }; :
Teóricamente, se supone que se duplicará infinitamente hasta que el sistema se quede sin recursos ...
Sin embargo, he intentado probar tanto en una distribución CLI Debian como en una distribución GUI Mint , y no parece afectar mucho al sistema. Sí, hay toneladas de procesos que se crean, y después de un tiempo leí en la consola mensajes como:
bash: fork: recurso temporalmente no disponible
bash: fork: retry: no hay procesos secundarios
Pero después de un tiempo, todos los procesos simplemente se anulan y todo vuelve a la normalidad. He leído que el ulimit establece una cantidad máxima de proceso por usuario, pero parece que no puedo llegar muy lejos.
¿Cuáles son las protecciones del sistema contra una bomba tenedor? ¿Por qué no se replica hasta que todo se congela o al menos se retrasa mucho? ¿Hay alguna manera de bloquear realmente un sistema con una bomba tenedor?
:(){ :& :; }; :
lugar? ¿También terminan siendo asesinados todos eventualmente? ¿Qué hay de :(){ while :& do :& done; }; :
?