मैं फ़ाइल डिस्क्रिप्टर के साथ पूरी तस्वीर प्राप्त करने की कोशिश कर रहा हूं। कहो मेरे पास process1 है जिसमें शुरू में ये फाइल डिस्क्रिप्टर हैं:
_process1_
| |
| 0 stdin |
| 1 stdout |
| 2 stderr |
|__________|
फिर मैंने फाइल डिस्क्रिप्टर 1 को बंद कर दिया:
close(1);
फ़ाइल डिस्क्रिप्टर 1 कर्नेल की ओपन फाइल्स टेबल में Stdout FILE स्ट्रक्चर में ट्रांसलेट (पॉइंट) करता है ।
फ़ाइल डिस्क्रिप्टर के ऊपर कोड के साथ 1 प्रक्रिया की तालिका से हटा दिया जाता है जो बन जाती है:
_process1_
| |
| 0 stdin |
| 2 stderr |
|__________|
लेकिन कर्नेल में क्या होता है? क्या stdout
FILE संरचना से निपटा जाता है? यह कैसे संभव है यदि stdout एक विशेष फ़ाइल (मॉनिटर) है और संभवतः अन्य प्रक्रियाओं द्वारा उपयोग की जा रही है? FILE संरचनाओं के बारे में क्या है जो सिर्फ सामान्य फाइलें हैं (उदाहरण के लिए .xt)? क्या होगा यदि ऐसी फाइल का उपयोग अन्य प्रक्रिया द्वारा किया जा रहा है?