จาก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 นี้ควรจะเป็นมากง่ายต่อการแก้ไขเพื่อให้บนมือข้างหนึ่งพวกเขาดูเหมือนจะได้เลือกที่จะปล่อยให้มันและที่อื่น ๆ พวกเขารายการว่ามันเป็นข้อผิดพลาด