2011-08-17 20 views
12

POSIX सिस्टम की तरह पर की अधिकतम लंबाई, वहाँ आदेश पंक्ति तर्क के लिए अधिकतम लंबाई है?** argv मापदंडों

स्पष्टीकरण के लिए, मैं की अधिकतम लंबाई कमांड लाइन तर्क की तलाश कर रहा हूं, न कि अधिकतम तर्कों की संख्या।

+0

_POSIX_ARG_MAX ?? –

+0

मुझे अपने अत्यधिक मंच विशिष्ट पर संदेह है। यदि आप बहुत सारे डेटा हैं तो आप stdin के माध्यम से अपने प्रोग्राम में डेटा पास कर सकते हैं। –

+0

नहीं, _POXIX_ARG_MAX सभी तर्कों के साथ अधिकतम लंबाई है। –

उत्तर

7

POSIX प्रत्येक तर्क के लिए अधिकतम लंबाई को परिभाषित नहीं करता।

MAX_ARG_STRLEN लिनक्स-विशिष्ट निरंतर which was introduced in the 2.6.25 kernel है।

2.6.25 कर्नेल के रूप में, MAX_ARG_STRLEN को 131072 bytes = 32 pages of memory के रूप में परिभाषित किया गया है।

(। मैं 4k की एक pagesize, जिस स्थिति जब तक CONFIG_HUGETLB_PAGE सक्षम किया गया है मुझे यकीन है कि कैसे CONFIG_HUGETLB_PAGEMAX_ARG_STRLEN प्रभावित नहीं कर रहा हूँ है यह सोचते हैं रहा हूँ।)

यह भी देखें: http://manpages.ubuntu.com/manpages/lucid/man2/execve.2.html

+0

जीजे शोध कर रहा है कि :-) – cnicutar

+0

cnicutar, क्षमा करें मेरा मूल प्रश्न अस्पष्ट था और उत्तर देने के लिए धन्यवाद। आपके उत्तर ने मुझे शोध करने में मदद की। –

संबंधित मुद्दे