c - Linux/bash में प्रोग्राम रिटर्न वैल्यू के लिए मान्य श्रेणी क्या है?



return-value ubuntu-10.04 (2)

जब कोई कार्यक्रम निकलता है, तो यह निकलता के कारण के बारे में छोटी सी जानकारी को मूल प्रक्रिया में वापस कर सकती है, बाहर निकलने की स्थिति का उपयोग कर। यह 0 और 255 के बीच का एक मान है जो बाहर निकलने वाली प्रक्रिया को बाहर निकलने के तर्क के रूप में गुजरता है।

http://www.gnu.org/s/hello/manual/libc/Exit-Status.html

वैकल्पिक रूप से:

http://en.wikipedia.org/wiki/Exit_status

"पॉज़िक्स रिटर्न कोड" और "सी रिटर्न कोड" से संबंधित Google खोजों से आया है

https://ffff65535.com

इस सवाल का पहले से ही उत्तर दिया गया है:

मेरे पास एक सी प्रोग्राम है जो एक पूर्णांक मान देता है। मुझे यह पता चलने में हैरान हुआ कि शेल प्रांप्ट से रिटर्न वैल्यू की जांच करते समय मुझे मूल्य मॉड्यूलो 256 मिलता है।

/* prog.c */
int main(...) { return 257; }

-

> ./prog.e
> echo $?  
1
  • मैं पूरे पूर्णांक को क्यों नहीं देखता?
  • यह व्यवहार कहां है?
  • मैं शेल में पूरे 32-बिट मान कैसे प्राप्त करूं?

रिटर्न की स्थिति को wait और संबंधित सिस्क्लों में समझाया गया है (जैसे)।

मूल रूप से:

WEXITSTATUS (stat_val)
यदि WIFEXITED (stat_val) का मान शून्य-शून्य है, तो यह मैक्रो स्थिति तर्क के कम-ऑर्डर 8 बिट्स का मूल्यांकन करता है कि बाल प्रक्रिया को _exit () या exit () से पारित किया जाता है या मूल प्रक्रिया को मुख्य ()।

इसलिए यह 8 बिट तक सीमित है। आप उस से अधिक पोर्टेबल नहीं मिल सकते हैं (और मैं और अधिक पाने के लिए प्रणाली पर निर्भर विधियों को नहीं जानता।)





ubuntu-10.04