Mucho de esto tiene que ver con la jerarquía de procesos, cuando se habla de procesos, la prioridad es tratar de administrar el tiempo del procesador. El procesador o la CPU es como un ser humano que hace malabarismos (un muy buen malabarista) con varias tareas al mismo tiempo. A veces podemos tener suficiente espacio para asumir múltiples proyectos. A veces, solo podemos concentrarnos en una cosa a la vez. Otras veces, surge algo importante y queremos dedicar toda nuestra energía a resolver ese problema y dejar las tareas menos importantes en un segundo plano.
En Linux, podemos establecer pautas para que la CPU siga cuando esté analizando todas las tareas que tiene que hacer. Estas pautas se denominan amabilidad (niceness) o valor agradable (nice value). La escala de «bondad » de Linux va de -20 a 19. Cuanto menor sea el número, más prioridad tendrá la tarea. Si el valor de bondad es un número alto como 19, la tarea se establecerá en la prioridad más baja y la CPU la procesará siempre que tenga la oportunidad. El «valor agradable» predeterminado es cero.
Al usar esta escala, podemos asignar nuestros recursos de CPU de manera más apropiada.
Y aquí esta el detalle:
Los programas de menor prioridad que no son importantes pueden configurarse con un «valor agradable» más alto, mientras que los programas de alta prioridad como demonios y servicios pueden configurarse para recibir más atención de la CPU. Incluso puede dar a un usuario específico un valor agradable más bajo para todos sus procesos, de modo que pueda limitar su capacidad de ralentizar los servicios centrales de la computadora.
Por lo tanto el algoritmo de promoción de jerarquía se percata que un loop no tiene punto de quiebre por lo que o se le manda a la cola de procesos en la parte más baja o se le elimina a los 5 segundos.
La forma más fácil de obtener una imagen rápida de cuál es la prioridad de amabilidad actual en un proceso es abrir los procesos principales con: top.
O desde la línea de comandos:
ps -o pid,comm,nice -p 594
Sencillo no, ahora sabemos que un ciclo infinito no es tan infinito como lo creiamos.