От man renice
:
Пользователи, отличные от суперпользователя, могут изменять только приоритет процессов, которыми они владеют, и могут монотонно увеличивать свое «хорошее значение» (по соображениям безопасности) в диапазоне от 0 до PRIO_MAX (20) [...]
Итак, я могу использовать renice
свои собственные процессы вверх (отдавая им более низкий приоритет), но никогда не снижая их:
$ 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
Почему это? Я могу понять, почему обычные пользователи не могут установить хорошие значения ниже 0, но почему, поскольку я могу уменьшить приоритет до 10, я не могу увеличить его снова до 9? Какая «причина безопасности» существует для этого? У меня есть право запустить процесс с хорошим значением 9, так почему я не могу изменить его до 9?
РЕДАКТИРОВАТЬ: я должен научиться прокручивать вниз. Оказывается, это указано как ошибка в 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.
Это еще более запутанно. Если они считают это поведение ошибкой, почему бы не изменить его? Команда renice
появилась в 4.0BSD, которая, я думаю, относится к 1980 году. Это должно быть очень легко исправить, так что, с одной стороны, они решили оставить ее, а с другой - перечислить ее как ошибку.