De man renice
:
Los usuarios que no sean el superusuario solo pueden alterar la prioridad de los procesos que poseen, y solo pueden aumentar monotónicamente su `` buen valor '' (por razones de seguridad) dentro del rango de 0 a PRIO_MAX (20) [...]
Entonces, puedo renice
mis propios procesos hacia arriba (darles una prioridad más baja) pero nunca hacia abajo:
$ renice 10 22316
22316 (process ID) old priority 0, new priority 10
$ renice 9 22316
renice: failed to set priority for 22316 (process ID): Permission denied
¿Por qué es esto? Puedo entender por qué los usuarios normales no pueden establecer valores agradables inferiores a 0, pero ¿por qué si puedo disminuir la prioridad a 10 no puedo aumentarlo nuevamente a 9? ¿Qué "razón de seguridad" hay para esto? Tengo derecho a iniciar un proceso con un buen valor de 9, entonces, ¿por qué no puedo cambiarlo a 9?
EDITAR: debería aprender a desplazarme hacia abajo. Resulta que esto aparece como un error en man renice
:
BUGS
Non super-users can not increase scheduling priorities of their own
processes, even if they were the ones that decreased the priorities
in the first place.
Eso es aún más confuso. Si consideran que este comportamiento es un error, ¿por qué no cambiarlo? El renice
comando apareció en 4.0BSD, que creo que es de 1980. Esto debería ser muy fácil de solucionar, por un lado, parecen haber optado por dejarlo y, por otro, lo enumeran como un error.