web-dev-qa-db-ja.com

Unixユーザーが下向きに寛容になれないのはなぜですか?

ルート以外のユーザーはプロセスを放棄できることを知っていますpですが、プロセスの優先度downを放棄することはできません。

$ 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

私は、root以外のユーザーとして、プロセスをネガティブなニース領域に(再)ニースする機能を持たないようにする必要があること、またはルートが自分に代わってより高いニースレベルでプロセスを開始した可能性があることを理解しています。

問題はroot以外のユーザーnotは、それ以上処理されない場合でも、自分自身を下向きに処理することはできませんそれが制定された元の優先順位まで?

3
Jé Queue

Rootユーザーがリソースを使いすぎているために別のユーザーのプロセスに優先順位を付け直すことができる場合、ユーザーはそれを回避して元に戻すことはできません。

6
John T

reniceはプログラムの良さを変更します-数値が大きいほど優先度が低くなります。

その理由は、最初の優しさがおそらく記憶されておらず、現在の優しさの値だけが記憶されているためだと思います。したがって、ユーザーがプログラムをより高い優先順位に戻すことができるかどうかを判断する良い方法はありません。 (これは推測です...多分誰かがそれを確認することができますか?)

4
Egon

その場合、プログラムには、システム全体を犠牲にして自分自身を優先するインセンティブがあります。

3
Craig Gidney