Від 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?
EDIT: Я повинен навчитися прокручувати вниз. Виявляється, це вказано як помилка в 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 р Це повинно бути дуже легко виправити , так з одного боку , вони , схоже, вирішили залишити його , а з іншого вони перераховують це як помилку.