से 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 से यह बहुत आसान होना चाहिए एक ओर वे इसे छोड़ने के लिए चुना है लगते हैं पर इतना तय करने के लिए और दूसरी ओर वे एक बग के रूप में यह सूची है में दिखाई दिया।