De man renice
:
Les utilisateurs autres que le super-utilisateur ne peuvent modifier que la priorité des processus dont ils sont propriétaires et ne peuvent augmenter de manière monotone que leur `` valeur intéressante '' (pour des raisons de sécurité) dans la plage de 0 à PRIO_MAX (20) [...]
Donc, je peux renice
mes propres processus vers le haut (leur donner une priorité inférieure) mais jamais vers le bas:
$ 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
Pourquoi est-ce? Je peux comprendre pourquoi les utilisateurs normaux ne peuvent pas définir de bonnes valeurs inférieures à 0, mais pourquoi, puisque je peux réduire la priorité à 10, ne puis-je pas l'augmenter à nouveau à 9? Quelle «raison de sécurité» y a-t-il pour cela? J'ai le droit de lancer un processus avec une belle valeur de 9, alors pourquoi ne puis-je pas le remettre à 9?
EDIT: je devrais apprendre à faire défiler vers le bas. Il s'avère que cela est répertorié comme un bogue dans 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.
C'est encore plus déroutant. S'ils considèrent ce comportement comme un bug, pourquoi ne pas le changer? La renice
commande est apparue dans 4.0BSD qui, je pense, date de 1980. Cela devrait être très facile à corriger, donc d'une part ils semblent avoir choisi de la laisser et de l'autre ils la listent comme un bug.