Por que os usuários Unix não podem ser renegados para baixo?

3

Eu sei que usuários não-root podem renunciar a um processo up , mas não renegam uma prioridade de processo para baixo .

$ nice yes >/dev/null & p=$!
$ renice 15 -p $p 
8414: old priority 10, new priority 15
$ renice 12 -p $p
renice: 8414: setpriority: Permission denied
$ kill $p

Eu entendo que, como usuário não-root, eu não deveria ter a capacidade de (re) ter um processo legal em um bom território negativo, ou que a raiz pode ter iniciado um processo em meu nome em um nível mais alto.

A questão é por qual motivo lógico um usuário não-root não pode renunciar ao próprio processado para baixo , mesmo que não seja mais abaixo da prioridade original na qual ele foi instatiated?

    
por Jé Queue 28.12.2009 / 17:07

3 respostas

6

Se os usuários raiz puderem priorizar novamente o processo de outro usuário porque ele está usando muitos recursos, um usuário não poderá contornar isso e alterá-lo novamente.

    
por 28.12.2009 / 17:30
4

Porque, então, os programas teriam um incentivo para se priorizar às custas de todo o sistema.

    
por 28.12.2009 / 17:10
4

renice modifica o privilégio do programa - maior número significa menor prioridade.

Eu acho que a razão é que a gentileza inicial provavelmente não é lembrada - apenas o valor atual de gentileza. Portanto, não há uma boa maneira de determinar se um usuário pode renunciar a um programa para uma prioridade mais alta. (Isso é um palpite ... Talvez alguém possa verificar isso?)

    
por 28.12.2009 / 17:13