जैसा कि मैं समझता हूं कि लिनक्स में प्रत्येक उपयोगकर्ता अच्छा और त्याग आदेशों का उपयोग करके हर प्रक्रिया की प्राथमिकता को बदल सकता है। मुझे यह भी पता है कि सभी उपयोगकर्ता सिर्फ प्रक्रियाओं की प्राथमिकता को बढ़ा सकते हैं और एकमात्र उपयोगकर्ता जो इस प्राथमिकता को कम कर सकता है वह है ROOT। जब मैं इन आदेशों का उपयोग करके टर्मिनल वातावरण में यह परीक्षण करता हूं तो सब कुछ ठीक था। इसका मतलब यह है कि जब मैं प्रक्रिया की प्राथमिकता को कम करना चाहता हूं तो सिस्टम "अनुमति अस्वीकृत" पाठ संदेश जारी करता है। जैसा कि मैं डिफ़ॉल्ट रूप से भी जानता हूं कि सभी प्रक्रियाएं प्राथमिकता से चलती हैं। इसलिए 0
जब मैं एक नकारात्मक संख्या द्वारा प्रक्रिया की प्राथमिकता निर्धारित करना चाहता हूं, तो सिस्टम को एक त्रुटि पाठ जारी करना चाहिए। जब मैं यह C भाषा कार्यक्रम चलाता हूं:
#include<stdio.h>
#include<unistd.h>
void main()
{
int n=10,r;
r=nice(n);
while(1)
printf("Test);
}
मुझे उम्मीद थी कि सिस्टम एक त्रुटि दिखाता है लेकिन प्रोग्राम बिना किसी समस्या के चलता है! हालांकि कार्यक्रम एक विशिष्ट उपयोगकर्ता की अनुमति से चलता है। मैं जानना चाहता हूं कि जब मैं सिस्टम के अनुसार त्रुटि दिखाता है, तो मैं इस प्रक्रिया की प्राथमिकता को कम करना चाहता हूं, क्योंकि जब मैं nice()
फ़ंक्शन का उपयोग करके प्रक्रिया की प्राथमिकता कम करना चाहता हूं, तो कोई त्रुटि नहीं करता है? क्या यह वाक्य All users just can increase the priority of process and the only user that can decrease this priority is ROOT.
सही है?