ДСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Ρƒ Π›ΠΈΠ½ΡƒΠΊΡƒ са ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈΠΌΠ°

ЈСдном, Ρ‚ΠΎΠΊΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Ρ˜ΡƒΠ°, ΠΏΠΈΡ‚Π°Π»ΠΈ су ΠΌΠ΅ ΡˆΡ‚Π° Ρ›Π΅Ρ‚Π΅ ΡƒΡ‡ΠΈΠ½ΠΈΡ‚ΠΈ Π°ΠΊΠΎ установитС Π΄Π° сСрвис Π½Π΅ Ρ€Π°Π΄ΠΈ Π·Π±ΠΎΠ³ Ρ‡ΠΈΡšΠ΅Π½ΠΈΡ†Π΅ Π΄Π° јС Π½Π° диску понСстало простора?

Наравно, ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈΠΎ сам Π΄Π° Ρ›Ρƒ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ ΡˆΡ‚Π° свС Π·Π°ΡƒΠ·ΠΈΠΌΠ° ΠΎΠ²ΠΎ мСсто ΠΈ, Π°ΠΊΠΎ јС ΠΌΠΎΠ³ΡƒΡ›Π΅, очистићу Ρ‚ΠΎ мСсто.
Π—Π°Ρ‚ΠΈΠΌ јС Π°Π½ΠΊΠ΅Ρ‚Π°Ρ€ ΠΏΠΈΡ‚Π°ΠΎ, ΡˆΡ‚Π° Π°ΠΊΠΎ Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜ΠΈ Π½Π΅ΠΌΠ° слободног простора, Π°Π»ΠΈ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π½ΠΈ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ којС Π±ΠΈ Π·Π°ΡƒΠ·Π΅Π»Π΅ сав простор?

На ΠΎΠ²ΠΎ сам Ρ€Π΅ΠΊΠ°ΠΎ Π΄Π° ΡƒΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ‚Π΅ дСскрипторС ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈΡ… Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΌ лсоф, ΠΈ схватитС која Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° јС Π·Π°ΡƒΠ·Π΅Π»Π° сав располоТиви простор, Π° Π·Π°Ρ‚ΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄Π΅Π»ΡƒΡ˜Π΅Ρ‚Π΅ Ρƒ складу са околностима, Ρƒ зависности ΠΎΠ΄ Ρ‚ΠΎΠ³Π° Π΄Π° Π»ΠΈ су ΠΏΠΎΠ΄Π°Ρ†ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ .

АнкСтар ΠΌΠ΅ јС ΠΏΡ€Π΅ΠΊΠΈΠ½ΡƒΠΎ Π½Π° послСдњој Ρ€Π΅Ρ‡ΠΈ, Π΄ΠΎΠ΄Π°Ρ˜ΡƒΡ›ΠΈ Π½Π° својС ΠΏΠΈΡ‚Π°ΡšΠ΅: β€žΠŸΡ€Π΅Ρ‚ΠΏΠΎΡΡ‚Π°Π²ΠΈΠΌΠΎ Π΄Π° Π½Π°ΠΌ Π½Π΅ Ρ‚Ρ€Π΅Π±Π°Ρ˜Ρƒ ΠΏΠΎΠ΄Π°Ρ†ΠΈ, Ρ‚ΠΎ јС само Π΄Π½Π΅Π²Π½ΠΈΠΊ ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ° Π³Ρ€Π΅ΡˆΠ°ΠΊΠ°, Π°Π»ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π½Π΅ Ρ€Π°Π΄ΠΈ Ρ˜Π΅Ρ€ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° напишС ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠ°ΠΊΠ°β€œ?

β€žΠ£ Ρ€Π΅Π΄Ρƒβ€œ, ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈΠΎ сам, β€žΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° искључимо ΠΎΡ‚ΠΊΠ»Π°ΡšΠ°ΡšΠ΅ Π³Ρ€Π΅ΡˆΠ°ΠΊΠ° Ρƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅ ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ јС ΠΏΠΎΠΊΡ€Π΅Π½Π΅ΠΌΠΎ.β€œ
АнкСтар јС ΠΏΡ€ΠΈΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΎ: β€žΠΠ΅, Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ, још ΡƒΠ²Π΅ΠΊ ΠΈΠΌΠ°ΠΌΠΎ Π²Π°ΠΆΠ½Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ ΡƒΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Π½Π΅ Ρƒ ΠΌΠ΅ΠΌΠΎΡ€ΠΈΡ˜ΠΈ, Π° Π²Π°ΠΆΠ½ΠΈ ΠΊΠ»ΠΈΡ˜Π΅Π½Ρ‚ΠΈ су ΠΏΠΎΠ²Π΅Π·Π°Π½ΠΈ Π½Π° саму услугу, ΠΊΠΎΡ˜Ρƒ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π½Π°Ρ‚Π΅Ρ€Π°Ρ‚ΠΈ Π΄Π° сС ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠ²Π΅ΠΆΠ΅.

β€žΠ£ Ρ€Π΅Π΄Ρƒβ€œ, Ρ€Π΅ΠΊΠ°ΠΎ сам, β€žΠ°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΏΠΎΠ½ΠΎΠ²ΠΎ Π΄Π° ΠΏΠΎΠΊΡ€Π΅Π½Π΅ΠΌΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ ΠΈ ΠΏΠΎΠ΄Π°Ρ†ΠΈ Π½Π°ΠΌ нису Π²Π°ΠΆΠ½ΠΈ, ΠΎΠ½Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌΠΎ Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Π΄Π° ΠΎΠ±Ρ€ΠΈΡˆΠ΅ΠΌΠΎ ΠΎΠ²Ρƒ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ ΠΊΡ€ΠΎΠ· дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅, Ρ‡Π°ΠΊ ΠΈ Π°ΠΊΠΎ јС Π½Π΅ Π²ΠΈΠ΄ΠΈΠΌΠΎ Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ лс Π½Π° систСму Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°."

АнкСтар јС Π±ΠΈΠΎ Π·Π°Π΄ΠΎΠ²ΠΎΡ™Π°Π½, Π°Π»ΠΈ ја нисам.

Онда сам помислио, Π·Π°ΡˆΡ‚ΠΎ особа која тСстира мојС знањС Π½Π΅ ΠΊΠΎΠΏΠ° Π΄ΡƒΠ±Ρ™Π΅? Али ΡˆΡ‚Π° Π°ΠΊΠΎ су ΠΏΠΎΠ΄Π°Ρ†ΠΈ ΠΈΠΏΠ°ΠΊ Π²Π°ΠΆΠ½ΠΈ? Π¨Ρ‚Π° Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΈ процСс, Π° процСс ΡƒΠΏΠΈΡΡƒΡ˜Π΅ Ρƒ систСм Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π½Π° ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜ΠΈ која Π½Π΅ΠΌΠ° слободног простора? Π¨Ρ‚Π° Π°ΠΊΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΈΠ·Π³ΡƒΠ±ΠΈΡ‚ΠΈ Π½Π΅ само ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ који су Π²Π΅Ρ› написани, Π²Π΅Ρ› ΠΈ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ којС овај процСс ΡƒΠΏΠΈΡΡƒΡ˜Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΡƒΡˆΠ°Π²Π° Π΄Π° запишС?

Π’ΡƒΠ·ΠΈΠΊ

На ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ својС ΠΊΠ°Ρ€ΠΈΡ˜Π΅Ρ€Π΅, ΠΏΠΎΠΊΡƒΡˆΠ°ΠΎ сам Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΌΠ°Π»Ρƒ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ која јС Ρ‚Ρ€Π΅Π±Π°Π»Π° Π΄Π° Ρ‡ΡƒΠ²Π° корисничкС ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅. А ΠΎΠ½Π΄Π° сам помислио, ΠΊΠ°ΠΊΠΎ Π΄Π° ΠΏΠΎΠ²Π΅ΠΆΠ΅ΠΌ корисника са њСговим ΠΏΠΎΠ΄Π°Ρ†ΠΈΠΌΠ°. На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠΌΠ°ΠΌ Иванова Ивана Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡Π°, ΠΈ ΠΎΠ½ ΠΈΠΌΠ° Π½Π΅ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅, Π°Π»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° сС ΡΠΏΡ€ΠΈΡ˜Π°Ρ‚Π΅Ρ™ΠΈΠΌ са њима? ΠœΠΎΠ³Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π΄Π° истакнСм Π΄Π° пас ΠΏΠΎ ΠΈΠΌΠ΅Π½Ρƒ Π’ΡƒΠ·ΠΈΠΊ ΠΏΡ€ΠΈΠΏΠ°Π΄Π° ΡƒΠΏΡ€Π°Π²ΠΎ ΠΎΠ²ΠΎΠΌ Π˜Π²Π°Π½Ρƒ. Али ΡˆΡ‚Π° Π°ΠΊΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ ΠΈΠΌΠ΅ ΠΈ умСсто Иван постанС, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠžΡ™Π°? Π’Π°Π΄Π° Ρ›Π΅ сС испоставити Π΄Π° наша ΠžΡ™Π° Ивановна Иванова вишС Π½Π΅Ρ›Π΅ ΠΈΠΌΠ°Ρ‚ΠΈ пса, Π° наш Π’ΡƒΠ·ΠΈΠΊ Ρ›Π΅ ΠΈ Π΄Π°Ρ™Π΅ ΠΏΡ€ΠΈΠΏΠ°Π΄Π°Ρ‚ΠΈ Π½Π΅ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅Ρ›Π΅ΠΌ Π˜Π²Π°Π½Ρƒ. Π‘Π°Π·Π° ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ° која јС сваком кориснику Π΄Π°Π²Π°Π»Π° Ρ˜Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (Π˜Π”) ΠΏΠΎΠΌΠΎΠ³Π»Π° јС Ρƒ Ρ€Π΅ΡˆΠ°Π²Π°ΡšΡƒ ΠΎΠ²ΠΎΠ³ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π° мој Π’ΡƒΠ·ΠΈΠΊ јС Π±ΠΈΠΎ Π²Π΅Π·Π°Π½ Π·Π° овај Π˜Π”, који јС, Ρƒ ствари, Π±ΠΈΠΎ само ΡΠ΅Ρ€ΠΈΡ˜ΡΠΊΠΈ Π±Ρ€ΠΎΡ˜. Π”Π°ΠΊΠ»Π΅, власник Ρ‚ΡƒΠ·ΠΈΠΊΠ° јС ΠΈΠΌΠ°ΠΎ ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ Π±Ρ€ΠΎΡ˜ 2, Π° Ρƒ Π½Π΅ΠΊΠΎΠΌ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ ΠΏΠΎΠ΄ ΠΎΠ²ΠΎΠΌ Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΊΠ°Ρ€Ρ‚ΠΎΠΌ јС Π±ΠΈΠΎ ΠΈ Иван, Π° ΠΎΠ½Π΄Π° јС ΠžΡ™Π° постала ΠΏΠΎΠ΄ истом. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ човСчности ΠΈ сточарства јС ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½.

ДСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° који Ρ€Π°Π΄ΠΈ са ΠΎΠ²ΠΎΠΌ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΎΠΌ јС ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ исти ΠΊΠ°ΠΎ ΠΊΠΎΠ΄ нашСг пса ΠΈ Ρ‡ΠΎΠ²Π΅ΠΊΠ°. ΠŸΡ€Π΅Ρ‚ΠΏΠΎΡΡ‚Π°Π²ΠΈΠΌΠΎ Π΄Π° сам ΠΎΡ‚Π²ΠΎΡ€ΠΈΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ ΠΏΠΎΠ΄ Π½Π°Π·ΠΈΠ²ΠΎΠΌ ΠΈΠ²Π°Π½.Ρ‚ΠΊΡ‚ ΠΈ ΠΏΠΎΡ‡Π΅ΠΎ Π΄Π° ΡƒΠΏΠΈΡΡƒΡ˜Π΅ΠΌ Ρ€Π΅Ρ‡ Ρ‚ΡƒΠ·ΠΈΠΊ Ρƒ ΡšΡƒ, Π°Π»ΠΈ сам успСо Π΄Π° ΡƒΠΏΠΈΡˆΠ΅ΠΌ само ΠΏΡ€Π²ΠΎ слово β€žΡ‚β€œ Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ, Π° ΠΎΠ²Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ јС Π½Π΅ΠΊΠΎ ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΠΎ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρƒ ΠΎΠ»ΠΈΠ°.Ρ‚ΠΊΡ‚. Али Ρ„Π°Ρ˜Π» ΠΎΡΡ‚Π°Ρ˜Π΅ исти, Π° ја ΠΈ Π΄Π°Ρ™Π΅ ΠΆΠ΅Π»ΠΈΠΌ Π΄Π° ΡƒΠΏΠΈΡˆΠ΅ΠΌ свог ΠΊΠ΅Ρ†Π° Ρƒ њСга. Π‘Π²Π°ΠΊΠΈ ΠΏΡƒΡ‚ ΠΊΠ°Π΄Π° сС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΎΡ‚Π²ΠΎΡ€ΠΈ систСмским ΠΏΠΎΠ·ΠΈΠ²ΠΎΠΌ часови Ρƒ Π±ΠΈΠ»ΠΎ ΠΊΠΎΠΌ програмском Ρ˜Π΅Π·ΠΈΠΊΡƒ добијам Ρ˜Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½ΠΈ Π˜Π” који ΠΌΠ΅ ΡƒΠΏΡƒΡ›ΡƒΡ˜Π΅ Π½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ, овај Π˜Π” јС дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅. И ΡƒΠΎΠΏΡˆΡ‚Π΅ нијС Π±ΠΈΡ‚Π½ΠΎ ΡˆΡ‚Π° ΠΈ ΠΊΠΎ Π΄Π°Ρ™Π΅ Ρ€Π°Π΄ΠΈ са ΠΎΠ²ΠΈΠΌ Ρ„Π°Ρ˜Π»ΠΎΠΌ, ΠΌΠΎΠΆΠ΅ сС обрисати, ΠΌΠΎΠΆΠ΅ сС ΠΏΡ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΠΈ, ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚ΠΈ власник ΠΈΠ»ΠΈ ΠΎΠ΄ΡƒΠ·Π΅Ρ‚ΠΈ ΠΏΡ€Π°Π²Π° Π½Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈ писањС, ΠΈ Π΄Π°Ρ™Π΅ Ρ›Ρƒ ΠΈΠΌΠ°Ρ‚ΠΈ приступ Π½Π° њСга, Ρ˜Π΅Ρ€ сам Ρƒ Ρ‚Ρ€Π΅Π½ΡƒΡ‚ΠΊΡƒ ΠΎΡ‚Π²Π°Ρ€Π°ΡšΠ° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ ΠΈΠΌΠ°ΠΎ ΠΏΡ€Π°Π²Π° Π΄Π° јС Ρ‡ΠΈΡ‚Π°ΠΌ ΠΈ/ΠΈΠ»ΠΈ ΡƒΠΏΠΈΡΡƒΡ˜Π΅ΠΌ ΠΈ успСо сам Π΄Π° ΠΏΠΎΡ‡Π½Π΅ΠΌ Π΄Π° Ρ€Π°Π΄ΠΈΠΌ са њом, ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Π΄Π° ΠΌΠΎΡ€Π°ΠΌ Π΄Π° наставим са Ρ‚ΠΈΠΌ.

Π£ Π›ΠΈΠ½ΡƒΠΊΡƒ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π»ΠΈΠ±Ρ† ΠΎΡ‚Π²Π°Ρ€Π° 3 Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ дСскриптора Π·Π° сваку ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚Ρƒ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ (процСс), нумСрисанС 0,1,2. Π’ΠΈΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ½Π°Ρ›ΠΈ Π½Π° Π»ΠΈΠ½ΠΊΠΎΠ²ΠΈΠΌΠ° ΠΌΠ°Π½ стдио ΠΈ ΠΌΠ°Π½ стдоут

  • ДСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ 0 сС Π·ΠΎΠ²Π΅ Π‘Π’Π”Π˜Π ΠΈ ΠΏΠΎΠ²Π΅Π·Π°Π½ јС са уносом Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅
  • ДСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ 1 сС Π·ΠΎΠ²Π΅ Π‘Π’Π”ΠžΠ£Π’ ΠΈ користС Π³Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅ Π·Π° ΠΈΠ·Π»Π°Π· ΠΏΠΎΠ΄Π°Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΎ ΡˆΡ‚ΠΎ су ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π·Π° ΡˆΡ‚Π°ΠΌΠΏΠ°ΡšΠ΅
  • ДСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ 2 сС Π·ΠΎΠ²Π΅ Π‘Π’Π”Π•Π Π  ΠΈ користС Π³Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π΅ Π·Π° ΠΈΠ·Π»Π°Π· ΠΏΠΎΡ€ΡƒΠΊΠ° ΠΎ Π³Ρ€Π΅ΡˆΡ†ΠΈ.

Ако Ρƒ свом ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΡƒ ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ Π±ΠΈΠ»ΠΎ ΠΊΠΎΡ˜Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Π·Π° Ρ‡ΠΈΡ‚Π°ΡšΠ΅ ΠΈΠ»ΠΈ писањС, ΠΎΠ½Π΄Π° Ρ›Π΅Ρ‚Π΅ Π½Π°Ρ˜Π²Π΅Ρ€ΠΎΠ²Π°Ρ‚Π½ΠΈΡ˜Π΅ Π΄ΠΎΠ±ΠΈΡ‚ΠΈ ΠΏΡ€Π²ΠΈ бСсплатни Π˜Π” ΠΈ ΠΎΠ½ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Π±Ρ€ΠΎΡ˜ 3.

Листа дСскриптора Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ сС Π²ΠΈΠ΄Π΅Ρ‚ΠΈ Π·Π° Π±ΠΈΠ»ΠΎ који процСс Π°ΠΊΠΎ Π·Π½Π°Ρ‚Π΅ њСгов ΠŸΠ˜Π”.

На ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ…Π°Ρ˜Π΄Π΅ Π΄Π° ΠΎΡ‚Π²ΠΎΡ€ΠΈΠΌΠΎ басх ΠΊΠΎΠ½Π·ΠΎΠ»Ρƒ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π°ΠΌΠΎ ΠŸΠ˜Π” нашСг процСса

[user@localhost ]$ echo $$
15771

Π£ Π΄Ρ€ΡƒΠ³ΠΎΡ˜ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ ΠΏΠΎΠΊΡ€Π΅Π½ΠΈΠΌΠΎ

[user@localhost ]$ ls -lah /proc/15771/fd/
total 0
dr-x------ 2 user user  0 Oct  7 15:42 .
dr-xr-xr-x 9 user user  0 Oct  7 15:42 ..
lrwx------ 1 user user 64 Oct  7 15:42 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 255 -> /dev/pts/21

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ Π΄Π° Π·Π°Π½Π΅ΠΌΠ°Ρ€ΠΈΡ‚Π΅ дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Π±Ρ€ΠΎΡ˜ 255 Π·Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ ΠΎΠ²ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ°; ΠΎΡ‚Π²ΠΎΡ€ΠΈΠΎ Π³Π° јС Π·Π° својС ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅ сам басх, Π° Π½Π΅ ΠΏΠΎΠ²Π΅Π·Π°Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°.

Π‘Π°Π΄Π° су свС 3 Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ дСскриптора ΠΏΠΎΠ²Π΅Π·Π°Π½Π΅ са псСудо Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π½ΠΈΠΌ ΡƒΡ€Π΅Ρ’Π°Ρ˜Π΅ΠΌ /Π΄Π΅Π²/птс, Π°Π»ΠΈ ΠΈ Π΄Π°Ρ™Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡˆΠ΅ΠΌΠΎ њима, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π° ΠΈΡ… ΠΏΠΎΠΊΡ€Π΅Π½Π΅ΠΌΠΎ Ρƒ Π΄Ρ€ΡƒΠ³ΠΎΡ˜ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ

[user@localhost ]$ echo "hello world" > /proc/15771/fd/0

А Ρƒ ΠΏΡ€Π²ΠΎΡ˜ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ Ρ›Π΅ΠΌΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΠΈ

[user@localhost ]$ hello world

ΠŸΡ€Π΅ΡƒΡΠΌΠ΅Ρ€ΠΈ ΠΈ ПипС

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»Π°ΠΊΠΎ Π·Π°ΠΎΠ±ΠΈΡ›ΠΈ ΠΎΠ²Π΅ 3 Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ дСскриптора Ρƒ Π±ΠΈΠ»ΠΎ ΠΊΠΎΠΌ процСсу, ΡƒΠΊΡ™ΡƒΡ‡ΡƒΡ˜ΡƒΡ›ΠΈ ΠΈ басх, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΡ€ΠΎΠ· Ρ†Π΅Π² која ΠΏΠΎΠ²Π΅Π·ΡƒΡ˜Π΅ Π΄Π²Π° процСса, ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ˜Ρ‚Π΅

[user@localhost ]$ cat /dev/zero | sleep 10000

ΠœΠΎΠΆΠ΅Ρ‚Π΅ сами Π΄Π° ΠΏΠΎΠΊΡ€Π΅Π½Π΅Ρ‚Π΅ ΠΎΠ²Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ страцС -Ρ„ ΠΈ Π²ΠΈΠ΄ΠΈ ΡˆΡ‚Π° сС ΡƒΠ½ΡƒΡ‚Ρ€Π° дСшава, Π°Π»ΠΈ Ρ›Ρƒ Ρ‚ΠΈ ΡƒΠΊΡ€Π°Ρ‚ΠΊΠΎ Ρ€Π΅Ρ›ΠΈ.

Наш Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Ρ™ басх процСс са ΠŸΠ˜Π” 15771 Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° Π½Π°ΡˆΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ Ρ€Π°Π·ΡƒΠΌΠ΅ Ρ‚Π°Ρ‡Π½ΠΎ ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΆΠ΅Π»ΠΈΠΌΠΎ Π΄Π° ΠΏΠΎΠΊΡ€Π΅Π½Π΅ΠΌΠΎ, Ρƒ нашСм ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ ΠΏΠΎΡΡ‚ΠΎΡ˜Π΅ Π΄Π²Π΅: Ρ†Π°Ρ‚ ΠΈ слССп. Басх Π·Π½Π° Π΄Π° Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π° Π΄Π²Π° ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½Π° процСса ΠΈ Π΄Π° ΠΈΡ… споји Ρƒ Ρ˜Π΅Π΄Π½Ρƒ Ρ†Π΅Π². Π£ΠΊΡƒΠΏΠ½ΠΎ, басх Ρ›Π΅ Ρ‚Ρ€Π΅Π±Π°Ρ‚ΠΈ 2 ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½Π° процСса ΠΈ јСдан ΠΏΠΈΠΏΠ΅.

Басх ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ систСмски ΠΏΠΎΠ·ΠΈΠ² ΠΏΡ€Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ° ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈΡ… процСса Ρ†Π΅Π² ΠΈ ΠΏΡ€ΠΈΠΌΠ° Π½ΠΎΠ²Π΅ дСскрипторС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Ρƒ ΠΏΡ€ΠΈΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΎΠΌ Π±Π°Ρ„Π΅Ρ€Ρƒ Ρ†Π΅Π²ΠΈ, Π°Π»ΠΈ овај Π±Π°Ρ„Π΅Ρ€ још ΡƒΠ²Π΅ΠΊ Π½Π΅ ΠΏΠΎΠ²Π΅Π·ΡƒΡ˜Π΅ наша Π΄Π²Π° ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½Π° процСса.

Π—Π° родитСљски процСс, ΠΈΠ·Π³Π»Π΅Π΄Π° Π΄Π° Π²Π΅Ρ› ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ Ρ†Π΅Π², Π°Π»ΠΈ још ΡƒΠ²Π΅ΠΊ Π½Π΅ΠΌΠ° ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈΡ… процСса:

PID    command
15771  bash
lrwx------ 1 user user 64 Oct  7 15:42 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 3 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:42 4 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:42 255 -> /dev/pts/21

Π—Π°Ρ‚ΠΈΠΌ користитС систСмски ΠΏΠΎΠ·ΠΈΠ² ΠΊΠ»ΠΎΠ½ΠΈΡ€Π°Ρ‚ΠΈ басх ΠΊΡ€Π΅ΠΈΡ€Π° Π΄Π²Π° ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½Π° процСса, Π° наша Ρ‚Ρ€ΠΈ процСса Ρ›Π΅ ΠΈΠ·Π³Π»Π΅Π΄Π°Ρ‚ΠΈ ΠΎΠ²Π°ΠΊΠΎ:

PID    command
15771  bash
lrwx------ 1 user user 64 Oct  7 15:42 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 3 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:42 4 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:42 255 -> /dev/pts/21
PID    command
9004  bash
lrwx------ 1 user user 64 Oct  7 15:57 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:57 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:57 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:57 3 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:57 4 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:57 255 -> /dev/pts/21
PID    command
9005  bash
lrwx------ 1 user user 64 Oct  7 15:57 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:57 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:57 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:57 3 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:57 4 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:57 255 -> /dev/pts/21

НС Π·Π°Π±ΠΎΡ€Π°Π²ΠΈΡ‚Π΅ Π΄Π° ΠΊΠ»ΠΎΠ½ ΠΊΠ»ΠΎΠ½ΠΈΡ€Π° процСс зајСдно са свим дСскрипторима Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, Ρ‚Π°ΠΊΠΎ Π΄Π° Ρ›Π΅ ΠΎΠ½ΠΈ Π±ΠΈΡ‚ΠΈ исти Ρƒ Π½Π°Π΄Ρ€Π΅Ρ’Π΅Π½ΠΎΠΌ ΠΈ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΎΠΌ процСсу. Посао родитСљског процСса са ΠŸΠ˜Π”-ΠΎΠΌ 15771 јС Π΄Π° Π½Π°Π΄Π³Π»Π΅Π΄Π° ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½Π΅ процСсС, Ρ‚Π°ΠΊΠΎ Π΄Π° Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Ρ‡Π΅ΠΊΠ° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π΄Π΅Ρ†Π΅.

Π—Π±ΠΎΠ³ Ρ‚ΠΎΠ³Π° ΠΌΡƒ нијС ΠΏΠΎΡ‚Ρ€Π΅Π±Π½Π° Ρ†Π΅Π² ΠΈ Π·Π°Ρ‚Π²Π°Ρ€Π° дСскрипторС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠ΄ Π±Ρ€ΠΎΡ˜Π΅ΠΌ 3 ΠΈ 4.

Π£ ΠΏΡ€Π²ΠΎΠΌ басх процСсу са ΠŸΠ˜Π”-ΠΎΠΌ 9004, систСмски ΠΏΠΎΠ·ΠΈΠ² Π΄ΡƒΠΏ2, мСња наш дСскриптор Π‘Π’Π”ΠžΠ£Π’ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Π±Ρ€ΠΎΡ˜ 1 Ρƒ дСскриптор Ρ„Π°Ρ˜Π»Π° који ΠΏΠΎΠΊΠ°Π·ΡƒΡ˜Π΅ Π½Π° Ρ†Π΅Π², Ρƒ нашСм ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ јС Ρ‚ΠΎ Π±Ρ€ΠΎΡ˜ 3. Π”Π°ΠΊΠ»Π΅, свС ΡˆΡ‚ΠΎ ΠΏΡ€Π²ΠΈ Π΄Π΅Ρ‚Π΅ процСс са ΠŸΠ˜Π” 9004 запишС Ρƒ Π‘Π’Π”ΠžΠ£Π’ аутоматски Ρ›Π΅ Π·Π°Π²Ρ€ΡˆΠΈΡ‚ΠΈ Ρƒ Π±Π°Ρ„Π΅Ρ€Ρƒ Ρ†Π΅Π²ΠΈ.

Π£ Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΎΠΌ процСсу са ΠŸΠ˜Π” 9005, басх користи Π΄ΡƒΠΏ2 Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Π‘Π’Π”Π˜Π Π±Ρ€ΠΎΡ˜ 0. Π‘Π°Π΄Π° Ρ›Π΅ свС ΡˆΡ‚ΠΎ Ρ›Π΅ наш Π΄Ρ€ΡƒΠ³ΠΈ басх са ΠŸΠ˜Π” 9005 ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΠΈ Π±ΠΈΡ‚ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎ ΠΈΠ· Ρ†Π΅Π²ΠΈ.

Након Ρ‚ΠΎΠ³Π°, дСскриптори Ρ„Π°Ρ˜Π»ΠΎΠ²Π° ΠΏΠΎΠ΄ Π±Ρ€ΠΎΡ˜Π΅Π²ΠΈΠΌΠ° 3 ΠΈ 4 сС Ρ‚Π°ΠΊΠΎΡ’Π΅ Π·Π°Ρ‚Π²Π°Ρ€Π°Ρ˜Ρƒ Ρƒ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈΠΌ процСсима, ΠΏΠΎΡˆΡ‚ΠΎ сС вишС Π½Π΅ користС.

НамСрно ΠΈΠ³Π½ΠΎΡ€ΠΈΡˆΠ΅ΠΌ дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ 255; користи Π³Π° Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅ сврхС сам басх ΠΈ Ρ‚Π°ΠΊΠΎΡ’Π΅ Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½ Ρƒ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΈΠΌ процСсима.

Π—Π°Ρ‚ΠΈΠΌ, Ρƒ ΠΏΡ€Π²ΠΎΠΌ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΎΠΌ процСсу са ΠŸΠ˜Π”-ΠΎΠΌ 9004, басх ΠΏΠΎΡ‡ΠΈΡšΠ΅ Π΄Π° користи систСмски ΠΏΠΎΠ·ΠΈΠ² Π΅ΠΊΠ΅Ρ† ΠΈΠ·Π²Ρ€ΡˆΠ½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΡ˜Ρƒ смо Π½Π°Π²Π΅Π»ΠΈ Ρƒ командној линији, Ρƒ нашСм ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ јС Ρ‚ΠΎ /уср/Π±ΠΈΠ½/Ρ†Π°Ρ‚.

Π£ Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠΎΠ΄Ρ€Π΅Ρ’Π΅Π½ΠΎΠΌ процСсу са ΠŸΠ˜Π”-ΠΎΠΌ 9005, басх ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ Π΄Ρ€ΡƒΠ³ΠΈ ΠΈΠ·Π²Ρ€ΡˆΠ½ΠΈ Ρ„Π°Ρ˜Π» који смо Π½Π°Π²Π΅Π»ΠΈ, Ρƒ нашСм ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ /уср/Π±ΠΈΠ½/слССп.

Π•ΠΊΠ΅Ρ† систСмски ΠΏΠΎΠ·ΠΈΠ² Π½Π΅ Π·Π°Ρ‚Π²Π°Ρ€Π° Ρ€ΡƒΡ‡ΠΊΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° осим Π°ΠΊΠΎ нису ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ са О_Π¦Π›ΠžΠ•ΠšΠ‘Π•Π¦ заставицом Ρƒ Π²Ρ€Π΅ΠΌΠ΅ ΠΊΠ°Π΄Π° јС ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΏΠΎΠ·ΠΈΠ² Π½Π°ΠΏΡ€Π°Π²Ρ™Π΅Π½. Π£ нашСм ΡΠ»ΡƒΡ‡Π°Ρ˜Ρƒ, Π½Π°ΠΊΠΎΠ½ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ° ΠΈΠ·Π²Ρ€ΡˆΠ½ΠΈΡ… Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°, сви Ρ‚Ρ€Π΅Π½ΡƒΡ‚Π½ΠΈ дСскриптори Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Ρ›Π΅ Π±ΠΈΡ‚ΠΈ сачувани.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Ρƒ ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ:

[user@localhost ]$ pgrep -P 15771
9004
9005
[user@localhost ]$ ls -lah /proc/15771/fd/
total 0
dr-x------ 2 user user  0 Oct  7 15:42 .
dr-xr-xr-x 9 user user  0 Oct  7 15:42 ..
lrwx------ 1 user user 64 Oct  7 15:42 0 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 2 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:42 255 -> /dev/pts/21
[user@localhost ]$ ls -lah /proc/9004/fd
total 0
dr-x------ 2 user user  0 Oct  7 15:57 .
dr-xr-xr-x 9 user user  0 Oct  7 15:57 ..
lrwx------ 1 user user 64 Oct  7 15:57 0 -> /dev/pts/21
l-wx------ 1 user user 64 Oct  7 15:57 1 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:57 2 -> /dev/pts/21
lr-x------ 1 user user 64 Oct  7 15:57 3 -> /dev/zero
[user@localhost ]$ ls -lah /proc/9005/fd
total 0
dr-x------ 2 user user  0 Oct  7 15:57 .
dr-xr-xr-x 9 user user  0 Oct  7 15:57 ..
lr-x------ 1 user user 64 Oct  7 15:57 0 -> pipe:[253543032]
lrwx------ 1 user user 64 Oct  7 15:57 1 -> /dev/pts/21
lrwx------ 1 user user 64 Oct  7 15:57 2 -> /dev/pts/21
[user@localhost ]$ ps -up 9004
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user  9004  0.0  0.0 107972   620 pts/21   S+   15:57   0:00 cat /dev/zero
[user@localhost ]$ ps -up 9005
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
user  9005  0.0  0.0 107952   360 pts/21   S+   15:57   0:00 sleep 10000

Као ΡˆΡ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ˜Π΅Π΄ΠΈΠ½ΡΡ‚Π²Π΅Π½ΠΈ Π±Ρ€ΠΎΡ˜ нашС Ρ†Π΅Π²ΠΈ јС исти Ρƒ ΠΎΠ±Π° процСса. Π’Π°ΠΊΠΎ ΠΈΠΌΠ°ΠΌΠΎ Π²Π΅Π·Ρƒ ΠΈΠ·ΠΌΠ΅Ρ’Ρƒ Π΄Π²Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚Π° процСса са истим Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Ρ™Π΅ΠΌ.

Π—Π° ΠΎΠ½Π΅ који нису ΡƒΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ са систСмским ΠΏΠΎΠ·ΠΈΠ²ΠΈΠΌΠ° којС басх користи, Ρ‚ΠΎΠΏΠ»ΠΎ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡƒΡ‡ΡƒΡ˜Π΅ΠΌ Π΄Π° ΠΏΠΎΠΊΡ€Π΅Π½Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΊΡ€ΠΎΠ· страцС ΠΈ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΡˆΡ‚Π° сС дСшава ΠΈΠ½Ρ‚Π΅Ρ€Π½ΠΎ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ²Π°ΠΊΠΎ:

strace -s 1024 -f bash -c "ls | grep hello"

Π’Ρ€Π°Ρ‚ΠΈΠΌΠΎ сС Π½Π° наш ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΠ½Π΅ΡΡ‚Π°Ρ˜Π°ΡšΠ° простора Π½Π° диску ΠΈ ΠΏΠΎΠΊΡƒΡˆΠ°Ρ˜Π° Π΄Π° сачувамо ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Π±Π΅Π· ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎΠ³ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ° процСса. Π₯ајдС Π΄Π° напишСмо ΠΌΠ°Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌ који Ρ›Π΅ писати ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ½ΠΎ 1 ΠΌΠ΅Π³Π°Π±Π°Ρ˜Ρ‚ Ρƒ сСкунди Π½Π° диск. Π¨Ρ‚Π°Π²ΠΈΡˆΠ΅, Π°ΠΊΠΎ ΠΈΠ· Π½Π΅ΠΊΠΎΠ³ Ρ€Π°Π·Π»ΠΎΠ³Π° нисмо Π±ΠΈΠ»ΠΈ Ρƒ могућности Π΄Π° запишСмо ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Π½Π° диск, Ρ˜Π΅Π΄Π½ΠΎΡΡ‚Π°Π²Π½ΠΎ Ρ›Π΅ΠΌΠΎ Ρ‚ΠΎ игнорисати ΠΈ ΠΏΠΎΠΊΡƒΡˆΠ°Ρ‚ΠΈ ΠΏΠΎΠ½ΠΎΠ²ΠΎ Π΄Π° запишСмо ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Ρƒ сСкунди. Π£ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ који користим ΠŸΠΈΡ‚Ρ…ΠΎΠ½, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ користити Π±ΠΈΠ»ΠΎ који Π΄Ρ€ΡƒΠ³ΠΈ програмски јСзик.

[user@localhost ]$ cat openforwrite.py 
import datetime
import time

mystr="a"*1024*1024+"n"
with open("123.txt", "w") as f:
    while True:
        try:
            f.write(str(datetime.datetime.now()))
            f.write(mystr)
            f.flush()
            time.sleep(1)
        except:
            pass

Π₯ајдС Π΄Π° ΠΏΠΎΠΊΡ€Π΅Π½Π΅ΠΌΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌ ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π°ΠΌΠΎ дСскрипторС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°

[user@localhost ]$ python openforwrite.py &
[1] 3762
[user@localhost ]$ ps axuf | grep [o]penforwrite
user  3762  0.0  0.0 128600  5744 pts/22   S+   16:28   0:00  |   _ python openforwrite.py
[user@localhost ]$ ls -la /proc/3762/fd
total 0
dr-x------ 2 user user  0 Oct  7 16:29 .
dr-xr-xr-x 9 user user  0 Oct  7 16:29 ..
lrwx------ 1 user user 64 Oct  7 16:29 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  7 16:29 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  7 16:29 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  7 16:29 3 -> /home/user/123.txt

Као ΡˆΡ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΈΠΌΠ°ΠΌΠΎ наша 3 стандардна дСскриптора Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΈ још јСдан који смо ΠΎΡ‚Π²ΠΎΡ€ΠΈΠ»ΠΈ. Π₯ајдС Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠΎ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅:

[user@localhost ]$ ls -lah 123.txt 
-rw-rw-r-- 1 user user 117M Oct  7 16:30 123.txt

ΠŸΠΎΠ΄Π°Ρ†ΠΈ сС ΠΏΠΈΡˆΡƒ, ΠΏΠΎΠΊΡƒΡˆΠ°Π²Π°ΠΌΠΎ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌΠΎ Π΄ΠΎΠ·Π²ΠΎΠ»Π΅ Π·Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ:

[user@localhost ]$ sudo chown root: 123.txt
[user@localhost ]$ ls -lah 123.txt 
-rw-rw-r-- 1 root root 168M Oct  7 16:31 123.txt
[user@localhost ]$ ls -lah 123.txt 
-rw-rw-r-- 1 root root 172M Oct  7 16:31 123.txt

Π’ΠΈΠ΄ΠΈΠΌΠΎ Π΄Π° сС ΠΏΠΎΠ΄Π°Ρ†ΠΈ ΠΈ Π΄Π°Ρ™Π΅ ΠΏΠΈΡˆΡƒ, ΠΈΠ°ΠΊΠΎ наш корисник Π½Π΅ΠΌΠ° Π΄ΠΎΠ·Π²ΠΎΠ»Ρƒ Π·Π° писањС Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ. Π₯ајдС Π΄Π° ΠΏΠΎΠΊΡƒΡˆΠ°ΠΌΠΎ Π΄Π° Π³Π° ΡƒΠΊΠ»ΠΎΠ½ΠΈΠΌΠΎ:

[user@localhost ]$ sudo rm 123.txt 
[user@localhost ]$ ls 123.txt
ls: cannot access 123.txt: No such file or directory

Π“Π΄Π΅ су написани ΠΏΠΎΠ΄Π°Ρ†ΠΈ? И Π΄Π° Π»ΠΈ су ΡƒΠΎΠΏΡˆΡ‚Π΅ написанС? ΠŸΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π°ΠΌΠΎ:

[user@localhost ]$ ls -la /proc/3762/fd
total 0
dr-x------ 2 user user  0 Oct  7 16:29 .
dr-xr-xr-x 9 user user  0 Oct  7 16:29 ..
lrwx------ 1 user user 64 Oct  7 16:29 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  7 16:29 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  7 16:29 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  7 16:29 3 -> /home/user/123.txt (deleted)

Π”Π°, наш дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ још ΡƒΠ²Π΅ΠΊ ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° Ρ‚Ρ€Π΅Ρ‚ΠΈΡ€Π°ΠΌΠΎ овај дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ ΠΊΠ°ΠΎ Π½Π°ΡˆΡƒ стару Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ, ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° јС Ρ‡ΠΈΡ‚Π°ΠΌΠΎ, ΠΎΠ±Ρ€ΠΈΡˆΠ΅ΠΌΠΎ ΠΈ ΠΊΠΎΠΏΠΈΡ€Π°ΠΌΠΎ.

ПоглСдајмо Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅:

[user@localhost ]$ lsof | grep 123.txt
python    31083             user    3w      REG                8,5   19923457   2621522 /home/user/123.txt

Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ јС 19923457. ΠŸΠΎΠΊΡƒΡˆΠ°Ρ˜ΠΌΠΎ Π΄Π° ΠΎΠ±Ρ€ΠΈΡˆΠ΅ΠΌΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ:

[user@localhost ]$ truncate -s 0 /proc/31083/fd/3
[user@localhost ]$ lsof | grep 123.txt
python    31083             user    3w      REG                8,5  136318390   2621522 /home/user/123.txt

Као ΡˆΡ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ сС само ΠΏΠΎΠ²Π΅Ρ›Π°Π²Π° ΠΈ наш ΠΏΡ€Ρ‚Ρ™Π°ΠΆΠ½ΠΈΠΊ нијС Ρ€Π°Π΄ΠΈΠΎ. ПоглСдајмо Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Ρƒ систСмског ΠΏΠΎΠ·ΠΈΠ²Π° часови . Ако користимо ΠΎΠ·Π½Π°ΠΊΡƒ О_ΠΠŸΠŸΠ•ΠΠ” ΠΊΠ°Π΄Π° ΠΎΡ‚Π²Π°Ρ€Π°ΠΌΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ, ΠΎΠ½Π΄Π° са сваким писањСм, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ систСм ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ ΠΈ ΡƒΠΏΠΈΡΡƒΡ˜Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Π½Π° сам ΠΊΡ€Π°Ρ˜ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅, ΠΈ Ρ‚ΠΎ атомски. Ово ΠΎΠΌΠΎΠ³ΡƒΡ›Π°Π²Π° Π²ΠΈΡˆΠ΅ΡΡ‚Ρ€ΡƒΠΊΠΈΠΌ Π½ΠΈΡ‚ΠΈΠΌΠ° ΠΈΠ»ΠΈ процСсима Π΄Π° ΡƒΠΏΠΈΡΡƒΡ˜Ρƒ Ρƒ исту Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ. Али Ρƒ нашСм ΠΊΠΎΠ΄Ρƒ Π½Π΅ користимо ΠΎΠ²Ρƒ заставу. МоТСмо Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠΎ Π΄Ρ€ΡƒΠ³Π°Ρ‡ΠΈΡ˜Ρƒ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Ρƒ лсоф послС Π΄Π΅Π±Π»Π° само Π°ΠΊΠΎ ΠΎΡ‚Π²ΠΎΡ€ΠΈΠΌΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Π·Π° Π΄ΠΎΠ΄Π°Ρ‚Π½ΠΎ писањС, ΡˆΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈ Ρƒ нашСм ΠΊΠΎΠ΄Ρƒ умСсто

with open("123.txt", "w") as f:

ΠΌΠΎΡ€Π°ΠΌΠΎ ставити

with open("123.txt", "a") as f:

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π° са β€žΠ²β€œ заставицом

[user@localhost ]$ strace -e trace=open python openforwrite.py 2>&1| grep 123.txt
open("123.txt", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 3

ΠΈ са заставом β€žΠ°β€œ.

[user@localhost ]$ strace -e trace=open python openforwrite.py 2>&1| grep 123.txt
open("123.txt", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΡšΠ΅ Π²Π΅Ρ› ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚ΠΎΠ³ процСса

ЧСсто ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ, ΠΏΡ€ΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΊΡ€Π΅ΠΈΡ€Π°ΡšΠ° ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, користС Π΄Π΅Π±Π°Π³Π΅Ρ€Π΅ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π“Π”Π‘) ΠΈΠ»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΡ‚Π΅ Π½ΠΈΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΡ˜Π°Π²Ρ™ΠΈΠ²Π°ΡšΠ° Ρƒ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ. Π›ΠΈΠ½ΡƒΠΊ ΠΏΡ€ΡƒΠΆΠ° могућност стварног писања ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° који јС Π²Π΅Ρ› ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅ врСдности ΠΏΡ€ΠΎΠΌΠ΅Π½Ρ™ΠΈΠ²ΠΈΡ…, ΠΏΠΎΡΡ‚Π°Π²Ρ™Π°ΡšΠ΅ Ρ‚Π°Ρ‡ΠΊΠ΅ ΠΏΡ€Π΅ΠΊΠΈΠ΄Π°, ΠΈΡ‚Π΄., ΠΈΡ‚Π΄.

Π’Ρ€Π°Ρ›Π°Ρ˜ΡƒΡ›ΠΈ сС Π½Π° ΠΏΡ€Π²ΠΎΠ±ΠΈΡ‚Π½ΠΎ ΠΏΠΈΡ‚Π°ΡšΠ΅ ΠΎ Π½Π΅Π΄ΠΎΠ²ΠΎΡ™Π½ΠΎ простора Π½Π° диску Π·Π° писањС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅, Ρ…Π°Ρ˜Π΄Π΅ Π΄Π° ΠΏΠΎΠΊΡƒΡˆΠ°ΠΌΠΎ Π΄Π° симулирамо ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Π₯ајдС Π΄Π° ΠΊΡ€Π΅ΠΈΡ€Π°ΠΌΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Π·Π° Π½Π°ΡˆΡƒ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜Ρƒ, ΠΊΠΎΡ˜Ρƒ Ρ›Π΅ΠΌΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Ρ‚ΠΈ ΠΊΠ°ΠΎ посСбан диск:

[user@localhost ~]$ dd if=/dev/zero of=~/tempfile_for_article.dd bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.00525929 s, 2.0 GB/s
[user@localhost ~]$

Π₯ајдС Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌΠΎ систСм Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°:

[user@localhost ~]$ mkfs.ext4 ~/tempfile_for_article.dd
mke2fs 1.42.9 (28-Dec-2013)
/home/user/tempfile_for_article.dd is not a block special device.
Proceed anyway? (y,n) y
...
Writing superblocks and filesystem accounting information: done
[user@localhost ~]$

ΠœΠΎΠ½Ρ‚ΠΈΡ€Π°Ρ˜Ρ‚Π΅ систСм Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°:

[user@localhost ~]$ sudo mount ~/tempfile_for_article.dd /mnt/
[sudo] password for user: 
[user@localhost ~]$ df -h | grep mnt
/dev/loop0      8.7M  172K  7.9M   3% /mnt

ΠŸΡ€Π°Π²ΠΈΠΌΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡ˜ΡƒΠΌ са нашим власником:

[user@localhost ~]$ sudo mkdir /mnt/logs
[user@localhost ~]$ sudo chown user: /mnt/logs

ΠžΡ‚Π²ΠΎΡ€ΠΈΠΌΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Π·Π° писањС само Ρƒ нашСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΡƒ:

with open("/mnt/logs/123.txt", "w") as f:

Π›Π°Π½ΡΠΈΡ€Π°ΡšΠ΅

[user@localhost ]$ python openforwrite.py 

Π§Π΅ΠΊΠ°ΠΌΠΎ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ сСкунди

[user@localhost ~]$ df -h | grep mnt
/dev/loop0      8.7M  8.0M     0 100% /mnt

Π”Π°ΠΊΠ»Π΅, ΠΈΠΌΠ°ΠΌΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ описан Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΊΡƒ ΠΎΠ²ΠΎΠ³ Ρ‡Π»Π°Π½ΠΊΠ°. Π‘Π»ΠΎΠ±ΠΎΠ΄Π½ΠΈ простор 0, 100% Π·Π°ΡƒΠ·Π΅Ρ‚ΠΎ.

Π‘Π΅Ρ‚ΠΈΠΌΠΎ сС Π΄Π° сС ΠΏΡ€Π΅ΠΌΠ° условима Π·Π°Π΄Π°Ρ‚ΠΊΠ° Ρ‚Ρ€ΡƒΠ΄ΠΈΠΌΠΎ Π΄Π° Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ Π²Π΅ΠΎΠΌΠ° Π²Π°ΠΆΠ½Π΅ ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ који сС Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΈΠ·Π³ΡƒΠ±ΠΈΡ‚ΠΈ. А Ρƒ исто Π²Ρ€Π΅ΠΌΠ΅, ΠΌΠΎΡ€Π°ΠΌΠΎ Π΄Π° ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠΌΠΎ услугу Π±Π΅Π· ΠΏΠΎΠ½ΠΎΠ²Π½ΠΎΠ³ ΠΏΠΎΠΊΡ€Π΅Ρ‚Π°ΡšΠ° процСса.

Π Π΅Ρ†ΠΈΠΌΠΎ Π΄Π° још ΡƒΠ²Π΅ΠΊ ΠΈΠΌΠ°ΠΌΠΎ простор Π½Π° диску, Π°Π»ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΡ˜ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜ΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρƒ /Ρ…ΠΎΠΌΠ΅.

Π₯ајдС Π΄Π° ΠΏΠΎΠΊΡƒΡˆΠ°ΠΌΠΎ Π΄Π° "Ρ€Π΅ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°ΠΌΠΎ Ρƒ Ρ…ΠΎΠ΄Ρƒ" наш ΠΊΠΎΠ΄.

ПоглСдајмо ΠŸΠ˜Π” нашСг процСса, који јС појСо сав простор Π½Π° диску:

[user@localhost ~]$ ps axuf | grep [o]penfor
user 10078 27.2  0.0 128600  5744 pts/22   R+   11:06   0:02  |   _ python openforwrite.py

ΠŸΠΎΠ²Π΅ΠΆΠΈΡ‚Π΅ сС са процСсом ΠΏΡ€Π΅ΠΊΠΎ Π³Π΄Π±-Π°

[user@localhost ~]$ gdb -p 10078
...
(gdb) 

ПоглСдајмо дСскрипторС ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈΡ… Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ°:

(gdb) shell ls -lah /proc/10078/fd/
total 0
dr-x------ 2 user user  0 Oct  8 11:06 .
dr-xr-xr-x 9 user user  0 Oct  8 11:06 ..
lrwx------ 1 user user 64 Oct  8 11:09 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:09 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:06 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  8 11:09 3 -> /mnt/logs/123.txt

Π“Π»Π΅Π΄Π°ΠΌΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ˜Π΅ ΠΎ дСскриптору Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Π±Ρ€ΠΎΡ˜ 3, којС нас Π·Π°Π½ΠΈΠΌΠ°Ρ˜Ρƒ

(gdb) shell cat /proc/10078/fdinfo/3
pos:    8189952
flags:  0100001
mnt_id: 482

Π˜ΠΌΠ°Ρ˜ΡƒΡ›ΠΈ Π½Π° ΡƒΠΌΡƒ који систСмски ΠΏΠΎΠ·ΠΈΠ² ΠŸΠΈΡ‚Ρ…ΠΎΠ½ ΠΏΡ€Π°Π²ΠΈ (ΠΏΠΎΠ³Π»Π΅Π΄Π°Ρ˜Ρ‚Π΅ Π³ΠΎΡ€Π΅ Π³Π΄Π΅ смо ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΠ»ΠΈ страцС ΠΈ ΠΏΡ€ΠΎΠ½Π°ΡˆΠ»ΠΈ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΏΠΎΠ·ΠΈΠ²), ΠΊΠ°Π΄Π° ΠΎΠ±Ρ€Π°Ρ’ΡƒΡ˜Π΅ΠΌΠΎ наш ΠΊΠΎΠ΄ Π·Π° ΠΎΡ‚Π²Π°Ρ€Π°ΡšΠ΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅, ΠΌΠΈ сами Ρ€Π°Π΄ΠΈΠΌΠΎ исто Ρƒ ΠΈΠΌΠ΅ нашСг процСса, Π°Π»ΠΈ Π½Π°ΠΌ јС ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Π½ О_Π’Π ΠžΠΠ›Π˜|О_ЦРЕАВ| О_ВРУНЦ Π±ΠΈΡ‚ΠΎΠ²ΠΈ сС Π·Π°ΠΌΠ΅ΡšΡƒΡ˜Ρƒ Π½ΡƒΠΌΠ΅Ρ€ΠΈΡ‡ΠΊΠΎΠΌ Π²Ρ€Π΅Π΄Π½ΠΎΡˆΡ›Ρƒ. Π”Π° бистС Ρ‚ΠΎ ΡƒΡ€Π°Π΄ΠΈΠ»ΠΈ, ΠΎΡ‚Π²ΠΎΡ€ΠΈΡ‚Π΅ ΠΈΠ·Π²ΠΎΡ€Π΅ Ρ˜Π΅Π·Π³Ρ€Π°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ²Π΄Π΅ ΠΈ поглСдај којС су заставС Π·Π° ΡˆΡ‚Π° ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½Π΅

#Π΄Π΅Ρ„ΠΈΠ½Π΅ О_Π’Π ΠžΠΠ›Π˜ 00000001
#Π΄Π΅Ρ„ΠΈΠ½Π΅ О_ЦРЕАВ 00000100
#Π΄Π΅Ρ„ΠΈΠ½Π΅ О_ВРУНЦ 00001000

ΠšΠΎΠΌΠ±ΠΈΠ½ΡƒΡ˜Π΅ΠΌΠΎ свС врСдности Ρƒ Ρ˜Π΅Π΄Π½Ρƒ, добијамо 00001101

ΠŸΠΎΠΊΡ€Π΅Ρ›Π΅ΠΌΠΎ ΠΏΠΎΠ·ΠΈΠ² ΠΈΠ· Π³Π΄Π±-Π°

(gdb) call open("/home/user/123.txt", 00001101,0666)
$1 = 4

Π”Π°ΠΊΠ»Π΅, Π΄ΠΎΠ±ΠΈΠ»ΠΈ смо Π½ΠΎΠ²ΠΈ дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ са Π±Ρ€ΠΎΡ˜Π΅ΠΌ 4 ΠΈ Π½ΠΎΠ²Ρƒ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΡ˜ ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜ΠΈ, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π°ΠΌΠΎ:

(gdb) shell ls -lah /proc/10078/fd/
total 0
dr-x------ 2 user user  0 Oct  8 11:06 .
dr-xr-xr-x 9 user user  0 Oct  8 11:06 ..
lrwx------ 1 user user 64 Oct  8 11:09 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:09 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:06 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  8 11:09 3 -> /mnt/logs/123.txt
l-wx------ 1 user user 64 Oct  8 11:15 4 -> /home/user/123.txt

Π‘Π΅Ρ‚ΠΈΠΌΠΎ сС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° са ΠΏΠΈΠΏΠ΅ – ΠΊΠ°ΠΊΠΎ басх мСња дСскрипторС Ρ„Π°Ρ˜Π»ΠΎΠ²Π°, Π° Π²Π΅Ρ› смо Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈ систСмски ΠΏΠΎΠ·ΠΈΠ² Π΄ΡƒΠΏ2.

ΠŸΠΎΠΊΡƒΡˆΠ°Π²Π°ΠΌΠΎ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΎ јСдан дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠΌ

(gdb) call dup2(4,3)
$2 = 3

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π°ΠΌΠΎ:

(gdb) shell ls -lah /proc/10078/fd/
total 0
dr-x------ 2 user user  0 Oct  8 11:06 .
dr-xr-xr-x 9 user user  0 Oct  8 11:06 ..
lrwx------ 1 user user 64 Oct  8 11:09 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:09 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:06 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  8 11:09 3 -> /home/user/123.txt
l-wx------ 1 user user 64 Oct  8 11:15 4 -> /home/user/123.txt

Π—Π°Ρ‚Π²Π°Ρ€Π°ΠΌΠΎ дСскриптор Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅ 4, ΠΏΠΎΡˆΡ‚ΠΎ Π½Π°ΠΌ нијС ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Π½:

(gdb) call close (4)
$1 = 0

И ΠΈΠ·Π°Ρ’ΠΈΡ‚Π΅ ΠΈΠ· Π³Π΄Π±-Π°

(gdb) quit
A debugging session is active.

    Inferior 1 [process 10078] will be detached.

Quit anyway? (y or n) y
Detaching from program: /usr/bin/python2.7, process 10078

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π° Π½ΠΎΠ²Π΅ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ΅:

[user@localhost ~]$ ls -lah /home/user/123.txt
-rw-rw-r-- 1 user user 5.1M Oct  8 11:18 /home/user/123.txt
[user@localhost ~]$ ls -lah /home/user/123.txt
-rw-rw-r-- 1 user user 7.1M Oct  8 11:18 /home/user/123.txt

Као ΡˆΡ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΏΠΎΠ΄Π°Ρ†ΠΈ су уписани Ρƒ Π½ΠΎΠ²Ρƒ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ, Ρ…Π°Ρ˜Π΄Π΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠΎ стару:

[user@localhost ~]$ ls -lah /mnt/logs/123.txt 
-rw-rw-r-- 1 user user 7.9M Oct  8 11:08 /mnt/logs/123.txt

ΠŸΠΎΠ΄Π°Ρ†ΠΈ сС Π½Π΅ Π³ΡƒΠ±Π΅, Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Ρ€Π°Π΄ΠΈ, Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ сС ΡƒΠΏΠΈΡΡƒΡ˜Ρƒ Π½Π° Π½ΠΎΠ²Ρƒ Π»ΠΎΠΊΠ°Ρ†ΠΈΡ˜Ρƒ.

Π₯ајдС Π΄Π° ΠΌΠ°Π»ΠΎ Π·Π°ΠΊΠΎΠΌΠΏΠ»ΠΈΠΊΡƒΡ˜Π΅ΠΌΠΎ Π·Π°Π΄Π°Ρ‚Π°ΠΊ

Замислимо Π΄Π° су Π½Π°ΠΌ ΠΏΠΎΠ΄Π°Ρ†ΠΈ Π²Π°ΠΆΠ½ΠΈ, Π°Π»ΠΈ Π½Π΅ΠΌΠ°ΠΌΠΎ простора Π½Π° диску Π½ΠΈ Π½Π° јСдној ΠΏΠ°Ρ€Ρ‚ΠΈΡ†ΠΈΡ˜ΠΈ ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° ΠΏΠΎΠ²Π΅ΠΆΠ΅ΠΌΠΎ диск.

Оно ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° ΡƒΡ€Π°Π΄ΠΈΠΌΠΎ јС Π΄Π° прСусмСримо својС ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Π½Π΅Π³Π΄Π΅, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Ρ†Π΅Π², ΠΈ Π·Π°ΡƒΠ·Π²Ρ€Π°Ρ‚ прСусмСримо ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ ΠΈΠ· Ρ†Π΅Π²ΠΈ Ρƒ ΠΌΡ€Π΅ΠΆΡƒ ΠΏΡ€Π΅ΠΊΠΎ Π½Π΅ΠΊΠΎΠ³ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅Ρ‚Ρ†Π°Ρ‚.
МоТСмо ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρƒ Ρ†Π΅Π² са ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΌ ΠΌΠΊΡ„ΠΈΡ„ΠΎ. Он Ρ›Π΅ ΠΊΡ€Π΅ΠΈΡ€Π°Ρ‚ΠΈ псСудо Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΡƒ Π½Π° систСму Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Ρ‡Π°ΠΊ ΠΈ Π°ΠΊΠΎ Π½Π° њој Π½Π΅ΠΌΠ° слободног простора.

Поново ΠΏΠΎΠΊΡ€Π΅Π½ΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅:

[user@localhost ]$ python openforwrite.py 
[user@localhost ~]$ ps axuf | grep [o]pen
user  5946 72.9  0.0 128600  5744 pts/22   R+   11:27   0:20  |   _ python openforwrite.py
[user@localhost ~]$ ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user  0 Oct  8 11:27 .
dr-xr-xr-x 9 user user  0 Oct  8 11:27 ..
lrwx------ 1 user user 64 Oct  8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  8 11:28 3 -> /mnt/logs/123.txt
[user@localhost ~]$ df -h | grep mnt
/dev/loop0      8.7M  8.0M     0 100% /mnt

НСма простора Π½Π° диску, Π°Π»ΠΈ Ρ‚Π°ΠΌΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΊΡ€Π΅ΠΈΡ€Π°ΠΌΠΎ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρƒ Ρ†Π΅Π²:

[user@localhost ~]$ mkfifo /mnt/logs/megapipe
[user@localhost ~]$ ls -lah /mnt/logs/megapipe 
prw-rw-r-- 1 user user 0 Oct  8 11:28 /mnt/logs/megapipe

Π‘Π°Π΄Π° ΠΌΠΎΡ€Π°ΠΌΠΎ Π½Π΅ΠΊΠ°ΠΊΠΎ Π΄Π° ΡƒΠΌΠΎΡ‚Π°ΠΌΠΎ свС ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ који ΠΈΠ΄Ρƒ Ρƒ ΠΎΠ²Ρƒ Ρ†Π΅Π² Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ сСрвСр ΠΏΡ€Π΅ΠΊΠΎ ΠΌΡ€Π΅ΠΆΠ΅; исти Π½Π΅Ρ‚Ρ†Π°Ρ‚ јС ΠΏΠΎΠ³ΠΎΠ΄Π°Π½ Π·Π° ΠΎΠ²ΠΎ.

На сСрвСру Ρ€Π΅ΠΌΠΎΡ‚Π΅-сСрвСр.Π΅ΠΊΠ°ΠΌΠΏΠ»Π΅.Ρ†ΠΎΠΌ ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ΠΌΠΎ

[user@localhost ~]$ nc -l 7777 > 123.txt 

На нашСм ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΠΌ сСрвСру ΠΏΠΎΠΊΡ€Π΅Ρ›Π΅ΠΌΠΎ Ρƒ посСбном Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρƒ

[user@localhost ~]$ nc remote-server.example.com 7777 < /mnt/logs/megapipe 

Π‘Π°Π΄Π° Ρ›Π΅ сви ΠΏΠΎΠ΄Π°Ρ†ΠΈ који Π·Π°Π²Ρ€ΡˆΠ΅ Ρƒ Ρ†Π΅Π²ΠΈ аутоматски ΠΈΡ›ΠΈ Ρƒ стдин Ρƒ Π½Π΅Ρ‚Ρ†Π°Ρ‚-Ρƒ, који Ρ›Π΅ ΠΈΡ… послати Ρƒ ΠΌΡ€Π΅ΠΆΡƒ Π½Π° ΠΏΠΎΡ€Ρ‚Ρƒ 7777.

Π‘Π²Π΅ ΡˆΡ‚ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΡƒΡ€Π°Π΄ΠΈΠΌΠΎ јС Π΄Π° ΠΏΠΎΡ‡Π½Π΅ΠΌΠΎ Π΄Π° ΡƒΠΏΠΈΡΡƒΡ˜Π΅ΠΌΠΎ нашС ΠΏΠΎΠ΄Π°Ρ‚ΠΊΠ΅ Ρƒ ΠΎΠ²Ρƒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Ρƒ Ρ†Π΅Π².

Π’Π΅Ρ› ΠΈΠΌΠ°ΠΌΠΎ ΠΏΠΎΠΊΡ€Π΅Π½ΡƒΡ‚Ρƒ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Ρƒ:

[user@localhost ~]$ ps axuf | grep [o]pen
user  5946 99.8  0.0 128600  5744 pts/22   R+   11:27 169:27  |   _ python openforwrite.py
[user@localhost ~]$ ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user  0 Oct  8 11:27 .
dr-xr-xr-x 9 user user  0 Oct  8 11:27 ..
lrwx------ 1 user user 64 Oct  8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  8 11:28 3 -> /mnt/logs/123.txt

Од свих заставица, ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎ Π½Π°ΠΌ јС само О_Π’Π ΠžΠΠ›Π˜ ΠΏΠΎΡˆΡ‚ΠΎ Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Π²Π΅Ρ› ΠΏΠΎΡΡ‚ΠΎΡ˜ΠΈ ΠΈ Π½Π΅ ΠΌΠΎΡ€Π°ΠΌΠΎ Π΄Π° јС ΠΎΠ±Ρ€ΠΈΡˆΠ΅ΠΌΠΎ

[user@localhost ~]$ gdb -p 5946
...
(gdb) call open("/mnt/logs/megapipe", 00000001,0666)
$1 = 4
(gdb) shell ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user  0 Oct  8 11:27 .
dr-xr-xr-x 9 user user  0 Oct  8 11:27 ..
lrwx------ 1 user user 64 Oct  8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  8 11:28 3 -> /mnt/logs/123.txt
l-wx------ 1 user user 64 Oct  8 14:20 4 -> /mnt/logs/megapipe
(gdb) call dup2(4,3)
$2 = 3
(gdb) shell ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user  0 Oct  8 11:27 .
dr-xr-xr-x 9 user user  0 Oct  8 11:27 ..
lrwx------ 1 user user 64 Oct  8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  8 11:28 3 -> /mnt/logs/megapipe
l-wx------ 1 user user 64 Oct  8 14:20 4 -> /mnt/logs/megapipe
(gdb) call close(4)
$3 = 0
(gdb) shell ls -lah /proc/5946/fd
total 0
dr-x------ 2 user user  0 Oct  8 11:27 .
dr-xr-xr-x 9 user user  0 Oct  8 11:27 ..
lrwx------ 1 user user 64 Oct  8 11:28 0 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:28 1 -> /dev/pts/22
lrwx------ 1 user user 64 Oct  8 11:27 2 -> /dev/pts/22
l-wx------ 1 user user 64 Oct  8 11:28 3 -> /mnt/logs/megapipe
(gdb) quit
A debugging session is active.

    Inferior 1 [process 5946] will be detached.

Quit anyway? (y or n) y
Detaching from program: /usr/bin/python2.7, process 5946

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π° ΡƒΠ΄Π°Ρ™Π΅Π½ΠΎΠ³ сСрвСра Ρ€Π΅ΠΌΠΎΡ‚Π΅-сСрвСр.Π΅ΠΊΠ°ΠΌΠΏΠ»Π΅.Ρ†ΠΎΠΌ

[user@localhost ~]$ ls -lah 123.txt 
-rw-rw-r-- 1 user user 38M Oct  8 14:21 123.txt

ΠŸΠΎΠ΄Π°Ρ†ΠΈ стиТу, ΠΏΡ€ΠΎΠ²Π΅Ρ€Π°Π²Π°ΠΌΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ сСрвСра

[user@localhost ~]$ ls -lah /mnt/logs/
total 7.9M
drwxr-xr-x 2 user user 1.0K Oct  8 11:28 .
drwxr-xr-x 4 root     root     1.0K Oct  8 10:55 ..
-rw-rw-r-- 1 user user 7.9M Oct  8 14:17 123.txt
prw-rw-r-- 1 user user    0 Oct  8 14:22 megapipe

ΠŸΠΎΠ΄Π°Ρ†ΠΈ су сачувани, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ јС Ρ€Π΅ΡˆΠ΅Π½.

ΠšΠΎΡ€ΠΈΡΡ‚ΠΈΠΌ ΠΎΠ²Ρƒ ΠΏΡ€ΠΈΠ»ΠΈΠΊΡƒ Π΄Π° ΠΏΠΎΠ·Π΄Ρ€Π°Π²ΠΈΠΌ мојС ΠΊΠΎΠ»Π΅Π³Π΅ ΠΈΠ· Π”Π΅Π³ΠΈΡ€Π°.
Π‘Π»ΡƒΡˆΠ°Ρ˜Ρ‚Π΅ Π Π°Π΄ΠΈΠΎ-Π’ подцастС.

Π‘Π²Π΅ Ρƒ Ρ€Π΅Π΄Ρƒ.

Као Π΄ΠΎΠΌΠ°Ρ›ΠΈ Π·Π°Π΄Π°Ρ‚Π°ΠΊ, ΠΏΡ€Π΅Π΄Π»Π°ΠΆΠ΅ΠΌ Π²Π°ΠΌ Π΄Π° размислитС ΠΎ Ρ‚ΠΎΠΌΠ΅ ΡˆΡ‚Π° Ρ›Π΅ Π±ΠΈΡ‚ΠΈ Ρƒ процСсу дСскриптори Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° Ρ†Π°Ρ‚ ΠΈ слССп Π°ΠΊΠΎ ΠΏΠΎΠΊΡ€Π΅Π½Π΅Ρ‚Π΅ слСдСћу ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

[user@localhost ~]$ cat /dev/zero 2>/dev/null| sleep 10000

Π˜Π·Π²ΠΎΡ€: Π²Π²Π².Ρ…Π°Π±Ρ€.Ρ†ΠΎΠΌ

Π”ΠΎΠ΄Π°Ρ˜ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€