からman renice
:
スーパーユーザー以外のユーザーは、所有するプロセスの優先度のみを変更でき、0からPRIO_MAX(20)の範囲内で(セキュリティ上の理由で) `` nice value ''を単調に増加させることしかできません [...]
したがって、私は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
コマンドは、私は1980年からこれは非常に簡単である必要があり、彼らはそれを残すことを選択したように見える一方ではとても修正し、他方で、彼らはバグとしてそれをリストアップすることだと思い、4.0BSDで登場しました。