डिफ़ॉल्ट रूप से निर्दिष्ट फ़ाइल डिस्क्रिप्टर 3 क्या है?


19
$ ls -og /proc/self /proc/self/fd
lrwxrwxrwx 1 64 Jun 18 11:12 /proc/self -> 32157

/proc/self/fd:
total 0
lrwx------ 1 64 Jun 22  2012 0 -> /dev/tty1
lrwx------ 1 64 Jun 22  2012 1 -> /dev/tty1
lrwx------ 1 64 Jun 22  2012 2 -> /dev/tty1
lr-x------ 1 64 Jun 22  2012 3 -> /proc/32157/fd

डिफ़ॉल्ट रूप से निर्दिष्ट फ़ाइल डिस्क्रिप्टर 3 क्या है?

जवाबों:


34

कुछ नहीं: तीन मानक फ़ाइल विवरण, STDIN, STDOUT और STDERR हैं। उन्हें क्रमशः 0, 1 और 2 को सौंपा गया है।

आप जो देख रहे हैं, वह ls(1)काम करने के तरीके की एक कलाकृति है : /proc/self/fdनिर्देशिका की सामग्री को पढ़ने और उसे प्रदर्शित करने के लिए, उस निर्देशिका को खोलने की आवश्यकता है।

इसका मतलब है कि यह एक फ़ाइल संभालती है, आमतौर पर पहले उपलब्ध ... इस प्रकार, 3।

यदि आप दौड़ रहे थे, तो catएक अलग कंसोल पर कहें और /proc/${pid}/fdइसके लिए निरीक्षण करें , तो आप पाएंगे कि केवल पहले तीन को सौंपा गया था।


आह, कि तथ्य यह है कि सहित परिणाम बताते हैं, 3अंक के /proc/32157/fdरूप में अच्छी तरह। (मुझे ऐसा क्यों याद आया?) धन्यवाद!
मुसीफिल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.