เดเดฐเดฟเดเตเดเตฝ, เดเดฐเต เด เดญเดฟเดฎเตเดเดคเตเดคเดฟเดจเดฟเดเต, เดเดจเตเดจเตเดเต เดเตเดฆเดฟเดเตเดเต, เดกเดฟเดธเตเดเดฟเตฝ เดธเตเดฅเดฒเดฎเดฟเดฒเตเดฒเดพเดคเดพเดฏเดคเดฟเดจเดพเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเดคเตเดค เดเดฐเต เดธเตเดตเดจเด เดจเดฟเดเตเดเตพ เดเดฃเตเดเตเดคเตเดคเดฟเดฏเดพเตฝ เดจเดฟเดเตเดเตพ เดเดจเตเดคเตเดเตเดฏเตเดฏเตเด?
เดคเตเตผเดเตเดเดฏเดพเดฏเตเด, เด เดธเตเดฅเดฒเด เดเดจเตเดคเดพเดฃเตเดจเตเดจเต เดเดพเตป เดเดพเดฃเดพเดฎเตเดจเตเดจเตเด, เดธเดพเดงเตเดฏเดฎเตเดเตเดเดฟเตฝ, เดเดพเตป เดธเตเดฅเดฒเด เดตเตเดคเตเดคเดฟเดฏเดพเดเตเดเตเดฎเตเดจเตเดจเตเด เดเดพเตป เดฎเดฑเตเดชเดเดฟ เดจเตฝเดเดฟ.
เด
เดชเตเดชเตเตพ เดเดจเตเดฑเตผเดตเตเดฏเต เดเตเดฏเตเดฏเตเดจเตเดจเดฏเดพเตพ เดเตเดฆเดฟเดเตเดเต, เดชเดพเตผเดเตเดเตเดทเดจเดฟเตฝ เดถเตเดจเตเดฏเดฎเดพเดฏ เดเดเดฎเดฟเดฒเตเดฒเตเดเตเดเดฟเดฒเต, เดเดจเตเดจเดพเตฝ เดฎเตเดดเตเดตเตป เดธเตเดฅเดฒเดตเตเด เดเดเตเดเตเดเตเดจเตเดจ เดซเดฏเดฒเตเดเดณเตเดจเตเดจเตเด เดจเดฟเดเตเดเตพ เดเดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเดฒเต?
เดเดคเดฟเดจเตเดเต เดเดพเตป เดชเดฑเดเตเดเต, เดจเดฟเดเตเดเตพเดเตเดเต เดเดฒเตเดฒเดพเดฏเตเดชเตเดชเตเดดเตเด เดเดชเตเดชเตบ เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเดเตพ เดจเตเดเตเดเดพเด, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต lsof เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต, เดฒเดญเตเดฏเดฎเดพเดฏ เดเดฒเตเดฒเดพ เดธเตเดฅเดฒเดตเตเด เดเดคเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเดพเดฃเต เดเดเตเดคเตเดคเดคเตเดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเดเตเดเตเด, เดคเตเดเตผเดจเตเดจเต เดกเดพเดฑเตเดฑ เดเดตเดถเตเดฏเดฎเดพเดฃเต เดเดจเตเดจเดคเดฟเดจเต เดเดถเตเดฐเดฏเดฟเดเตเดเต เดจเดฟเดเตเดเตพเดเตเดเต เดธเดพเดนเดเดฐเตเดฏเดเตเดเตพเดเตเดเดจเตเดธเดฐเดฟเดเตเดเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเดพเด. .
เด เดญเดฟเดฎเตเดเด เดจเดเดคเตเดคเตเดจเตเดจเดฏเดพเตพ เด เดตเดธเดพเดจ เดตเดพเดเตเดเดฟเตฝ เดเดจเตเดจเต เดคเดเดธเตเดธเดชเตเดชเตเดเตเดคเตเดคเดฟ, เด เดตเดจเตเดฑเต เดเตเดฆเตเดฏเดคเตเดคเตเดเต เดเตเตผเดคเตเดคเต: "เดจเดฎเตเดเตเดเต เดกเดพเดฑเตเดฑ เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเตเดจเตเดจเต เดเดฐเตเดคเตเด, เดเดคเต เดเดฐเต เดกเตเดฌเดเต เดฒเตเดเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต, เดชเดเตเดทเต เดเดฐเต เดกเตเดฌเดเต เดเดดเตเดคเดพเตป เดเดดเดฟเดฏเดพเดคเตเดคเดคเดฟเดจเดพเตฝ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเดฟเดฒเตเดฒ"?
"เดถเดฐเดฟ," เดเดพเตป เดฎเดฑเตเดชเดเดฟ เดชเดฑเดเตเดเต, "เดจเดฎเตเดเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเตเตบเดซเดฟเดเดฑเตเดทเดจเดฟเดฒเต เดกเตเดฌเดเต เดเดซเดพเดเตเดเดฟ เด
เดคเต เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเดพเด."
เด
เดญเดฟเดฎเตเดเด เดจเดเดคเตเดคเตเดจเตเดจเดฏเดพเตพ เดเดคเดฟเตผเดคเตเดคเต: "เดเดฒเตเดฒ, เดเดเตเดเตพเดเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ, เดเดเตเดเตพเดเตเดเต เดเดชเตเดชเตเดดเตเด เดชเตเดฐเดงเดพเดจเดชเตเดชเตเดเตเด เดกเดพเดฑเตเดฑ เดฎเตเดฎเตเดฎเดฑเดฟเดฏเดฟเตฝ เดธเดเดญเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เดเตเดเดพเดคเต เดชเตเดฐเดงเดพเดจเดชเตเดชเตเดเตเด เดเตเดฒเดฏเดจเตเดฑเตเดเตพ เดธเตเดตเดจเดตเตเดฎเดพเดฏเดฟ เดคเดจเตเดจเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เด
เดคเต เดตเตเดฃเตเดเตเด เดเดฃเดเตเดฑเตเดฑเตเดเตเดฏเตเดฏเดพเตป เดเดเตเดเตพเดเตเดเต เดจเดฟเตผเดฌเดจเตเดงเดฟเดเตเดเดพเดจเดพเดตเดฟเดฒเตเดฒ."
โเดถเดฐเดฟ,โ เดเดพเตป เดชเดฑเดเตเดเต, โเดจเดฎเตเดเตเดเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดกเดพเดฑเตเดฑ เดเดเตเดเตพเดเตเดเต เดชเตเดฐเดงเดพเดจเดฎเดฒเตเดฒเตเดเตเดเดฟเตฝ, ls เดเดฎเดพเตปเดกเดฟเตฝ เดเดคเต เดเดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝเดชเตเดชเตเดฒเตเด, เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฑเดฟเดฒเตเดเต เด เดคเตเดฑเดจเตเดจ เดซเดฏเตฝ เดเตเดฒเดฟเดฏเตผ เดเตเดฏเตเดฏเดพเด. เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ."
เด เดญเดฟเดฎเตเดเด เดจเดเดคเตเดคเดฟเดฏเดฏเดพเตพ เดธเดจเตเดคเตเดทเดฟเดเตเดเต, เดชเดเตเดทเต เดเดพเตป เด เดเตเดเดจเตเดฏเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ.
เด
เดชเตเดชเตเตพ เดเดพเตป เดเดฟเดจเตเดคเดฟเดเตเดเต, เดเดจเตเดคเตเดเตเดฃเตเดเดพเดฃเต เดเดจเตเดฑเต เด
เดฑเดฟเดตเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจ เดตเตเดฏเดเตเดคเดฟ เดเตเดเตเดคเตฝ เดเดดเดคเตเดคเดฟเตฝ เดเตเดดเดฟเดเตเดเดฟเดเดพเดคเตเดคเดคเต? เดเดจเตเดจเดพเตฝ เดกเดพเดฑเตเดฑ เดเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต เดเดเตเดเดฟเดฒเต? เดจเดฎเตเดเตเดเต เดเดฐเต เดชเตเดฐเตเดธเดธเตเดธเต เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ, เดธเตเดตเดคเดจเตเดคเตเดฐ เดเดเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดเดฐเต เดชเดพเตผเดเตเดเตเดทเดจเดฟเตฝ เดชเตเดฐเตเดธเดธเตเดธเต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเตเดเตเดเต เดเดดเตเดคเตเดจเตเดจเต เดเดเตเดเดฟเดฒเต? เดเดคเดฟเดจเดเด เดเดดเตเดคเดฟเดฏ เดกเดพเดฑเตเดฑ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด เดชเตเดฐเดเตเดฐเดฟเดฏ เดเดดเตเดคเตเดจเตเดจเดคเต เดเดดเตเดคเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเดคเต เดเดฏ เดกเดพเดฑเตเดฑเดฏเตเด เดจเดฎเตเดเตเดเต เดจเดทเตโเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดจเตเดคเตเดเตเดฏเตเดฏเตเด?
เดคเตเดธเดฟเดเตเดเต
เดเดจเตเดฑเต เดเดฐเดฟเดฏเดฑเดฟเดจเตเดฑเต เดคเตเดเดเตเดเดคเตเดคเดฟเตฝ, เดเดชเดฏเตเดเตเดคเต เดตเดฟเดตเดฐเดเตเดเตพ เดธเดเดญเดฐเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดตเดถเตเดฏเดฎเดพเดฏ เดเดฐเต เดเตเดฑเดฟเดฏ เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเต. เดเดจเตเดจเดฟเดเตเดเต เดเดพเตป เดเดฟเดจเตเดคเดฟเดเตเดเต, เดเดจเดฟเดเตเดเต เดเดเตเดเดจเต เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเต เด เดตเดจเตเดฑเต เดกเดพเดฑเตเดฑเดฏเตเดฎเดพเดฏเดฟ เดชเตเดฐเตเดคเตเดคเดชเตเดชเตเดเตเดคเตเดคเดพเดจเดพเดเตเด. เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเดจเดฟเดเตเดเต เดเดตเดพเดจเตเดตเต เดเดตเดพเตป เดเดตเดพเดจเตเดตเดฟเดเตเดเต เดเดฃเตเดเต, เด เดฆเตเดฆเตเดนเดคเตเดคเดฟเดจเต เดเดฟเดฒ เดตเดฟเดตเดฐเดเตเดเดณเตเดฃเตเดเต, เดชเดเตเดทเต เด เดตเดฐเตเดฎเดพเดฏเดฟ เดเดเตเดเดจเต เดเดเตเดเดพเดคเตเดคเด เดเตเดเดพเด? "Tuzik" เดเดจเตเดจเต เดชเตเดฐเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจ เดจเดพเดฏ เด เดเดตเดจเตเดฑเต เดคเดจเตเดจเตเดฏเดพเดฃเตเดจเตเดจเต เดเดจเดฟเดเตเดเต เดจเตเดฐเดฟเดเตเดเต เดเตเดฃเตเดเดฟเดเตเดเดพเดฃเดฟเดเตเดเดพเด. เดเดจเตเดจเดพเตฝ เด เดตเตป เดคเดจเตเดฑเต เดชเตเดฐเต เดฎเดพเดฑเตเดฑเดฟ เดเดตเดพเดจเต เดชเดเดฐเด เดเดฒเตเดฏ เดเดฏเดฟ เดฎเดพเดฑเดฟเดฏเดพเดฒเต? เด เดชเตเดชเตเตพ เดจเดฎเตเดฎเตเดเต เดเดฒเตเดฏ เดเดตเดพเดจเตเดตเตเดจ เดเดตเดพเดจเตเดตเดฏเตเดเตเดเต เดเดจเดฟ เดเดฐเต เดจเดพเดฏ เดเดฃเตเดเดพเดเดฟเดฒเตเดฒเตเดจเตเดจเตเด เดเดเตเดเดณเตเดเต เดคเตเดธเดฟเดเตเดเต เดเดชเตเดชเตเดดเตเด เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒเดพเดคเตเดค เดเดตเดพเตปเดฑเตเดคเดพเดฃเตเดจเตเดจเตเด เด เดคเต เดฎเดพเดฑเตเด. เดเดฐเต เดเดชเดฏเตเดเตเดคเดพเดตเดฟเดจเตเด เดเดฐเต เด เดฆเตเดตเดฟเดคเตเดฏ เดเดกเดจเตเดฑเดฟเดซเดฏเตผ (เดเดกเดฟ) เดจเตฝเดเตเดจเตเดจ เดเดฐเต เดกเดพเดฑเตเดฑเดพเดฌเตเดธเต เด เดชเตเดฐเดถเตเดจเด เดชเดฐเดฟเดนเดฐเดฟเดเตเดเดพเตป เดธเดนเดพเดฏเดฟเดเตเดเต, เดเดจเตเดฑเต เดคเตเดธเดฟเดเตเดเต เด เดเดกเดฟเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ เดเดคเต เดเดฐเต เดธเตเดฐเดฟเดฏเตฝ เดจเดฎเตเดชเตผ เดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต. เด เดเตเดเดจเต, เดคเตเดธเดฟเดเตเดเดฟเดจเตเดฑเต เดเดเดฎเดฏเตเดเตเดเต เดเดกเดฟ เดจเดฎเตเดชเตผ 2 เดเดฃเตเดเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดเดฟเดฒ เดธเดฎเดฏเดเตเดเดณเดฟเตฝ เดเดตเดพเตป เด เดเดกเดฟเดเตเดเต เดเตเดดเดฟเดฒเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดคเตเดเตผเดจเตเดจเต เดเดฒเดฟเดฏ เดเดคเต เดเดกเดฟเดเตเดเต เดเตเดดเดฟเดฒเดพเดฏเดฟ. เดฎเดจเตเดทเตเดฏเดคเตเดตเดคเตเดคเดฟเดจเตเดฑเตเดฏเตเด เดฎเตเดเดธเดเดฐเดเตเดทเดฃเดคเตเดคเดฟเดจเตเดฑเตเดฏเตเด เดชเตเดฐเดถเตเดจเด เดชเตเดฐเดพเดฏเตเดเดฟเดเดฎเดพเดฏเดฟ เดชเดฐเดฟเดนเดฐเดฟเดเตเดเต.
เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตผ
เด เดซเดฏเดฒเดฟเดจเตเดชเตเดชเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดซเดฏเดฒเดฟเดจเตเดฑเตเดฏเตเด เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดจเตเดฑเตเดฏเตเด เดชเตเดฐเดถเตโเดจเด เดจเดฎเตเดฎเตเดเต เดจเดพเดฏเดฏเตเดเตเดฏเตเด เดฎเดจเตเดทเตเดฏเดจเตเดฑเตเดฏเตเด เดเดเดฆเตเดถเด เดคเตเดฒเตเดฏเดฎเดพเดฃเต. เดเดพเตป ivan.txt เดเดจเตเดจ เดเดฐเต เดซเดฏเตฝ เดคเตเดฑเดจเตเดจเต เด
เดคเดฟเตฝ tuzik เดเดจเตเดจ เดตเดพเดเตเดเต เดเดดเตเดคเดพเตป เดคเตเดเดเตเดเดฟ, เดชเดเตเดทเต เดซเดฏเดฒเดฟเตฝ "t" เดเดจเตเดจ เดเดฆเตเดฏ เด
เดเตเดทเดฐเด เดเดดเตเดคเดพเตป เดฎเดพเดคเตเดฐเดฎเต เดเดจเดฟเดเตเดเต เดเดดเดฟเดเตเดเตเดณเตเดณเต, เด เดซเดฏเดฒเดฟเดจเต เดเดฐเตเดเตเดเดฟเดฒเตเด เดชเตเดจเตผเดจเดพเดฎเดเดฐเดฃเด เดเตเดฏเตเดคเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, olya.txt. เดเดจเตเดจเดพเตฝ เดซเดฏเตฝ เด
เดคเตเดชเดเดฟ เดคเตเดเดฐเตเดจเตเดจเต, เดเดจเตเดฑเต เดเดฏเตโเดธเต เดเดชเตเดชเตเดดเตเด เด
เดคเดฟเตฝ เดฐเตเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดเดพเตป เดเดเตเดฐเดนเดฟเดเตเดเตเดจเตเดจเต. เดเดฐเต เดคเดตเดฃเดฏเตเด เดเดฐเต เดธเดฟเดธเตเดฑเตเดฑเด เดเตเตพ เดตเดดเดฟ เดเดฐเต เดซเดฏเตฝ เดคเตเดฑเดเตเดเตเดจเตเดจเต
เดฒเดฟเดจเดเตเดธเดฟเตฝ, เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเด (เดชเตเดฐเตเดธเดธเตเดธเต) 3 เดเดจเตเดจ เดจเดฎเตเดชเดฑเตเดณเตเดณ 0,1,2 เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตผ เดซเดฏเดฒเตเดเตพ libc เดฒเตเดฌเตเดฐเดฑเดฟ เดคเตเดฑเดเตเดเตเดจเตเดจเต. เดเตเดเตเดคเตฝ เดตเดฟเดตเดฐเดเตเดเตพ เดฒเดฟเดเตเดเตเดเดณเดฟเตฝ เดเดพเดฃเดพเด
- เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตผ 0-เดจเต STDIN เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต, เดเดคเต เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดเตปเดชเตเดเตเดเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเตเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต
- เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตผ 1-เดจเต STDOUT เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต, เดชเตเดฐเดฟเดจเตเดฑเต เดเดฎเดพเตปเดกเตเดเตพ เดชเตเดฒเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดเดเตเดเตเดชเตเดเตเดเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต
- เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตผ 2-เดจเต STDERR เดเดจเตเดจเต เดตเดฟเดณเดฟเดเตเดเตเดจเตเดจเต, เดชเดฟเดถเดเต เดธเดจเตเดฆเตเดถเดเตเดเตพ เดเดเตเดเตเดชเตเดเตเดเต เดเตเดฏเตเดฏเดพเตป เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเตเดเตพ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต.
เดจเดฟเดเตเดเดณเตเดเต เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเตฝ เดจเดฟเดเตเดเตพ เดตเดพเดฏเดฟเดเตเดเตเดจเตเดจเดคเดฟเดจเต เดเดดเตเดคเตเดจเตเดจเดคเดฟเดจเต เดเดคเตเดเตเดเดฟเดฒเตเด เดซเดฏเตฝ เดคเตเดฑเดเตเดเตเดเดฏเดพเดฃเตเดเตเดเดฟเตฝ, เดฎเดฟเดเตเดเดตเดพเดฑเตเด เดจเดฟเดเตเดเตพเดเตเดเต เดเดฆเตเดฏเดคเตเดคเต เดธเตเดเดจเตเดฏ เดเดกเดฟ เดฒเดญเดฟเดเตเดเตเด, เด เดคเต เดจเดฎเตเดชเตผ 3 เดเดฏเดฟเดฐเดฟเดเตเดเตเด.
เดจเดฟเดเตเดเตพเดเตเดเต เด เดคเดฟเดจเตเดฑเต PID เด เดฑเดฟเดฏเดพเดฎเตเดเตเดเดฟเตฝ, เดเดคเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเตเดเตเดเตเด เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเดเดณเตเดเต เดฒเดฟเดธเตเดฑเตเดฑเต เดเดพเดฃเดพเตป เดเดดเดฟเดฏเตเด.
เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฎเตเดเตเดเต เดฌเดพเดทเต เดเตบเดธเตเตพ เดคเตเดฑเดจเตเดจเต เดจเดฎเตเดฎเตเดเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเตเดเต PID เดจเตเดเตเดเดพเด
[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
เดจเดฟเดเตเดเตพเดเตเดเต เด เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดธเตเดตเดฏเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด เดธเตโเดเตเดฐเตเดธเต -เดเดซเต เด เดเดคเตเดคเต เดเดจเตเดคเดพเดฃเต เดธเดเดญเดตเดฟเดเตเดเตเดจเตเดจเดคเตเดจเตเดจเต เดเดพเดฃเตเด, เดชเดเตเดทเต เดเดพเตป เดจเดฟเดเตเดเดณเตเดเต เดเตเดฐเตเดเตเดเดฎเดพเดฏเดฟ เดชเดฑเดฏเดพเด.
PID 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
เดเดฒเตเดฒเดพ เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเดเดณเตเดเตเดชเตเดชเด เดเตเดฒเตเตบ เดชเตเดฐเดเตเดฐเดฟเดฏ เดเตเดฒเตเตบ เดเตเดฏเตเดฏเตเดฎเตเดจเตเดจ เดเดพเดฐเตเดฏเด เดฎเดฑเดเตเดเดฐเตเดคเต, เด เดคเดฟเดจเดพเตฝ เด เดต เดฐเดเตเดทเดพเดเตผเดคเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเดฟเดฒเตเด เดเตเดเตเดเดฟเดฏเดฟเดฒเตเด เดธเดฎเดพเดจเดฎเดพเดฏเดฟเดฐเดฟเดเตเดเตเด. PID 15771 เดเดณเตเดณ เดชเดพเดฐเดจเตเดฑเต เดชเตเดฐเตเดธเดธเดฟเดจเตเดฑเต เดเตเดฒเดฟ เดเตเตฝเดกเต เดชเตเดฐเตเดธเดธเตเดธเตเดเตพ เดจเดฟเดฐเตเดเตเดทเดฟเดเตเดเตเด เดเดจเตเดจเดคเดพเดฃเต, เด เดคเดฟเดจเดพเตฝ เดเดคเต เดเตเดเตเดเดฟเดเดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดคเดฟเดเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เดเดพเดคเตเดคเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต.
เด เดคเดฟเดจเดพเตฝ, เดเดคเดฟเดจเต เดชเตเดชเตเดชเต เดเดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เดเตเดเดพเดคเต เดเดคเต 3, 4 เดจเดฎเตเดชเดฑเตเดเดณเตเดณเตเดณ เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเดเตพ เด เดเดฏเตเดเตเดเตเดจเตเดจเต.
PID 9004 เดเดชเดฏเตเดเดฟเดเตเดเตเดณเตเดณ เดเดฆเตเดฏ เดเตเตฝเดกเต เดฌเดพเดทเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเดฟเตฝ, เดธเดฟเดธเตเดฑเตเดฑเด เดเตเตพ
PID 9005 เดเดณเตเดณ เดฐเดฃเตเดเดพเดฎเดคเตเดคเต เดเตเตฝเดกเต เดชเตเดฐเตเดธเดธเตเดธเดฟเตฝ, เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตผ STDIN เดจเดฎเตเดชเตผ 2 เดฎเดพเดฑเตเดฑเดพเตป bash dup0 เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดเดชเตเดชเตเตพ PID 9005 เดเดณเตเดณ เดเดเตเดเดณเตเดเต เดฐเดฃเตเดเดพเดฎเดคเตเดคเต เดฌเดพเดทเต เดตเดพเดฏเดฟเดเตเดเตเดจเตเดจเดคเตเดฒเตเดฒเดพเด เดชเตเดชเตเดชเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดพเดฏเดฟเดเตเดเดชเตเดชเตเดเตเด.
เดเดคเดฟเดจเตเดถเตเดทเด, 3, 4 เดจเดฎเตเดชเดฑเตเดเดณเตเดณเตเดณ เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเดเดณเตเด เดเตเตฝเดกเต เดชเตเดฐเตเดธเดธเตเดธเตเดเดณเดฟเตฝ เด เดเดเตเดเดฟเดฐเดฟเดเตเดเตเดจเตเดจเต, เดเดพเดฐเดฃเด เด เดต เดฎเตเดฒเดฟเตฝ เดเดชเดฏเตเดเดฟเดเตเดเดฟเดฒเตเดฒ.
เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตผ 255 เดเดพเตป เดฎเดจเดเดชเตเตผเดตเตเดตเด เด เดตเดเดฃเดฟเดเตเดเตเดจเตเดจเต; เดเดคเต เดฌเดพเดทเต เดฎเตเดเตเดจ เดคเดจเตเดจเต เดเดจเตเดคเดฐเดฟเด เดเดตเดถเตเดฏเดเตเดเตพเดเตเดเดพเดฏเดฟ เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต, เดเตเตฝเดกเต เดชเตเดฐเตเดธเดธเตเดเดณเดฟเดฒเตเด เดเดคเต เด เดเดเตเดเดฟเดฐเดฟเดเตเดเตเด.
เด
เดเตเดคเตเดคเดคเดพเดฏเดฟ, PID 9004 เดเดชเดฏเตเดเดฟเดเตเดเตเดณเตเดณ เดเดฆเตเดฏ เดเตเตฝเดกเต เดชเตเดฐเตเดธเดธเตเดธเดฟเตฝ, เดฌเดพเดทเต เดเดฐเต เดธเดฟเดธเตเดฑเตเดฑเด เดเตเตพ เดเดชเดฏเตเดเดฟเดเตเดเต เดคเตเดเดเตเดเตเดจเตเดจเต
PID 9005 เดเดณเตเดณ เดฐเดฃเตเดเดพเดฎเดคเตเดคเต เดเตเตฝเดกเต เดชเตเดฐเตเดธเดธเตเดธเดฟเตฝ, เดเดเตเดเดณเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ /usr/bin/sleep-เตฝ เดเดเตเดเตพ เดตเตเดฏเดเตเดคเดฎเดพเดเตเดเดฟเดฏ เดฐเดฃเตเดเดพเดฎเดคเตเดคเต เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเดฌเดฟเตพ เดฌเดพเดทเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต.
เดเดชเตเดชเตบ เดเตเตพ เดเตเดฏเตเดค เดธเดฎเดฏเดคเตเดคเต O_CLOEXEC เดซเตเดฒเดพเดเต เดเดชเดฏเตเดเดฟเดเตเดเต เดคเตเดฑเดจเตเดจเดฟเดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดเตโเดธเดฟเดเต เดธเดฟเดธเตเดฑเตเดฑเด เดเตเตพ เดซเดฏเตฝ เดนเดพเตปเดกเดฟเดฒเตเดเดณเต เดเตเดฒเตเดธเต เดเตเดฏเตเดฏเดฟเดฒเตเดฒ. เดเดเตเดเดณเตเดเต เดเดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดเดเตเดธเดฟเดเตเดฏเตเดเตเดเดฌเดฟเตพ เดซเดฏเดฒเตเดเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเด เดถเตเดทเด, เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดเดฒเตเดฒเดพ เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเดเดณเตเด เดธเดเดฐเดเตเดทเดฟเดเตเดเดชเตเดชเตเดเตเด.
เดเตบเดธเตเดณเดฟเตฝ เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
[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:
"w" เดซเตเดฒเดพเดเต เดเดชเดฏเตเดเดฟเดเตเดเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเต
[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
เดเดคเดฟเดจเดเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดชเตเดฐเดเตเดฐเดฟเดฏ เดชเตเดฐเตเดเตเดฐเดพเดฎเดฟเดเดเต
เดฎเดฟเดเตเดเดชเตเดชเตเดดเตเด เดชเตเดฐเตเดเตเดฐเดพเดฎเตผเดฎเดพเตผ, เดชเตเดฐเตเดเตเดฐเดพเดฎเตเดเตพ เดธเตเดทเตเดเดฟเดเตเดเตเดเดฏเตเด เดชเดฐเตเดเตเดทเดฟเดเตเดเตเดเดฏเตเด เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ, เดกเตเดฌเดเตเดเดฑเตเดเตพ (เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต GDB) เด เดฒเตเดฒเตเดเตเดเดฟเตฝ เดเดชเตเดฒเดฟเดเตเดเตเดทเดจเดฟเตฝ เดตเดฟเดตเดฟเดง เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดฒเตเดเดฟเดเดเต เดเดชเดฏเตเดเดฟเดเตเดเตเดจเตเดจเต. เดเดคเดฟเดจเดเด เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจ เดเดฐเต เดชเตเดฐเตเดเตเดฐเดพเด เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดเดดเตเดคเดพเดจเตเด เดฎเดพเดฑเตเดฑเดพเดจเตเดฎเตเดณเตเดณ เดเดดเดฟเดตเต Linux เดจเตฝเดเตเดจเตเดจเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเตเดฐเดฟเดฏเดฌเดฟเดณเตเดเดณเตเดเต เดฎเตเดฒเตเดฏเดเตเดเตพ เดฎเดพเดฑเตเดฑเตเด, เดเดฐเต เดฌเตเดฐเตเดเตเดเตโเดชเตเดฏเดฟเดจเตเดฑเต เดธเดเตเดเดฎเดพเดเตเดเตเด เดฎเตเดคเดฒเดพเดฏเดต.
เดเดฐเต เดซเดฏเตฝ เดเดดเตเดคเดพเตป เดฎเดคเดฟเดฏเดพเดฏ เดกเดฟเดธเตเดเดฟเตฝ เดเดเดฎเดฟเดฒเตเดฒ เดเดจเตเดจ เดฏเดฅเดพเตผเดคเตเดฅ เดเตเดฆเตเดฏเดคเตเดคเดฟเดฒเตเดเตเดเต เดฎเดเดเตเดเตเดฎเตเดชเตเตพ, เดชเตเดฐเดถเตเดจเด เด เดจเตเดเดฐเดฟเดเตเดเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเดพเด.
เดจเดฎเตเดฎเตเดเต เดชเดพเตผเดเตเดเตเดทเดจเดพเดฏเดฟ เดจเดฎเตเดเตเดเต เดเดฐเต เดซเดฏเตฝ เดเดฃเตเดเดพเดเตเดเดพเด, เด เดคเต เดจเดฎเตเดฎเตพ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดกเดฟเดธเตเดเดพเดฏเดฟ เดฎเตเดฃเตเดเต เดเตเดฏเตเดฏเตเด:
[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% เด เดงเดฟเดจเดฟเดตเตเดถเด.
เดเดพเดธเตเดเตเดเดฟเดจเตเดฑเต เดตเตเดฏเดตเดธเตเดฅเดเตพเดเตเดเดจเตเดธเตเดคเดฎเดพเดฏเดฟ, เดจเดทเตโเดเดชเตเดชเตเดเดพเตป เดเดดเดฟเดฏเดพเดคเตเดค เดตเดณเดฐเต เดชเตเดฐเดงเดพเดจเดชเตเดชเตเดเตเด เดกเดพเดฑเตเดฑ เดฐเตเดเดชเตเดชเตเดเตเดคเตเดคเดพเตป เดเดเตเดเตพ เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเตเดฃเตเดเตเดจเตเดจเต เดเดเตเดเตพ เดเตผเดเตเดเตเดจเตเดจเต. เด เดคเต เดธเดฎเดฏเด, เดชเตเดฐเตเดธเดธเตเดธเต เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเดพเดคเต เดคเดจเตเดจเต เดเดเตเดเตพ เดธเตเดตเดจเด เดถเดฐเดฟเดฏเดพเดเตเดเตเดฃเตเดเดคเตเดฃเตเดเต.
เดจเดฎเตเดเตเดเต เดเดชเตเดชเตเดดเตเด เดกเดฟเดธเตเดเต เดธเตเดชเตเดธเต เดเดฃเตเดเตเดจเตเดจเต เดชเดฑเดฏเดพเด, เดเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเตเดฐเต เดชเดพเตผเดเตเดเตเดทเดจเดฟเตฝ, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต /home เตฝ.
เดจเดฎเตเดฎเตเดเต เดเตเดกเต "เดเดเตเดเดฏเดฟเตฝ เดฑเตเดชเตเดฐเตเดเตเดฐเดพเด" เดเตเดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเดเตเดเดพเด.
เดกเดฟเดธเตเดเดฟเดฒเต เดฎเตเดดเตเดตเตป เดธเตเดฅเดฒเดตเตเด เดจเดถเดฟเดชเตเดชเดฟเดเตเด เดเดเตเดเดณเตเดเต เดชเตเดฐเดเตเดฐเดฟเดฏเดฏเตเดเต PID เดจเตเดเตเดเดพเด:
[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
เดชเตเดคเตเดคเตบ เดเดจเตเดคเต เดธเดฟเดธเตเดฑเตเดฑเด เดเตเตพ เดเดฃเตเดเดพเดเตเดเตเดจเตเดจเต เดเดจเตเดจเดคเต เดฎเดจเดธเตเดธเดฟเตฝ เดตเตเดเตเดเตเดเตเดฃเตเดเต (เดฎเตเดเดณเดฟเตฝ เดเดตเดฟเดเตเดฏเดพเดฃเต เดเดเตเดเตพ เดธเตโเดเตเดฐเตเดฏเดฟเดธเต เดเดชเตเดชเตบ เดเตเดฏเตเดคเต เดเดชเตเดชเตบ เดเตเตพ เดเดฃเตเดเตเดคเตเดคเดฟเดฏเดคเตเดจเตเดจเต เดเดพเดฃเตเด), เดเดฐเต เดซเดฏเตฝ เดคเตเดฑเดเตเดเดพเตป เดเดเตเดเดณเตเดเต เดเตเดกเต เดชเตเดฐเตเดธเดธเตเดธเต เดเตเดฏเตเดฏเตเดฎเตเดชเตเตพ, เดเดเตเดเดณเตเดเต เดชเตเดฐเตเดธเดธเดฟเดจเต เดตเตเดฃเตเดเดฟ เดเดเตเดเตพ เดคเดจเตเดจเต เด
เดคเต เดคเดจเตเดจเต เดเตเดฏเตเดฏเตเดจเตเดจเต, เดชเดเตเดทเต เดเดเตเดเตพเดเตเดเต O_WRONLY|O_CREAT| O_TRUNC เดฌเดฟเดฑเตเดฑเตเดเตพ เดเดฐเต เดธเดเดเตเดฏเดพ เดฎเตเดฒเตเดฏเด เดเดชเดฏเตเดเดฟเดเตเดเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเตเดจเตเดจเต. เดเดคเต เดเตเดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดเตเตผเดฃเตฝ เดเดฑเดตเดฟเดเดเตเดเตพ เดคเตเดฑเดเตเดเตเด
#เดคเตเดฑเตเดฑเดพเดฏ 00000001 เดจเดฟเตผเดตเดเดฟเดเตเดเตเด
#O_CREAT 00000100 เดจเดฟเตผเดตเตเดตเดเดฟเดเตเดเตเด
#O_TRUNC 00001000 เดจเดฟเตผเดตเดเดฟเดเตเดเตเด
เดเดเตเดเตพ เดเดฒเตเดฒเดพ เดฎเตเดฒเตเดฏเดเตเดเดณเตเด เดเดจเตเดจเดพเดฏเดฟ เดธเดเดฏเตเดเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต, เดเดเตเดเตพเดเตเดเต 00001101 เดฒเดญเดฟเดเตเดเตเด
เดเดเตเดเตพ gdb-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดเตเดเดณเตเดเต เดเตเตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเดเตเดเตเดจเตเดจเต
(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
เดชเตเดชเตเดชเต เดเดชเดฏเตเดเดฟเดเตเดเตเดณเตเดณ เดเดฆเดพเดนเดฐเดฃเด เดเดเตเดเตพ เดเตผเดเตเดเตเดจเตเดจเต - เดฌเดพเดทเต เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเดฑเตเดเตพ เดเดเตเดเดจเต เดฎเดพเดฑเตเดฑเตเดจเตเดจเต, เดเดเตเดเตพ เดเดคเดฟเดจเดเด เดคเดจเตเดจเต dup2 เดธเดฟเดธเตเดฑเตเดฑเด เดเตเตพ เดชเด เดฟเดเตเดเต.
เดเดฐเต เดซเดฏเตฝ เดกเดฟเดธเตเดเตเดฐเดฟเดชเตเดฑเตเดฑเตผ เดฎเดฑเตเดฑเตเดจเตเดจเตเดฎเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดเตเดเดพเตป เดเดเตเดเตพ เดถเตเดฐเดฎเดฟเดเตเดเตเดจเตเดจเต
(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
เดกเดพเดฑเตเดฑเดฏเตเดจเตเดจเตเด เดจเดทเตโเดเดชเตเดชเตเดเตเดจเตเดจเดฟเดฒเตเดฒ, เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเดเตเดเตเดจเตเดจเต, เดฒเตเดเตเดเตพ เดเดฐเต เดชเตเดคเดฟเดฏ เดธเตเดฅเดฒเดคเตเดคเตเดเตเดเต เดเดดเตเดคเตเดจเตเดจเต.
เดจเดฎเตเดเตเดเต เดเตเดฎเดคเดฒ เด เตฝเดชเตเดชเด เดธเดเตเดเตเตผเดฃเตเดฃเดฎเดพเดเตเดเดพเด
เดกเดพเดฑเตเดฑ เดเดเตเดเตพเดเตเดเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเตเดจเตเดจเต เดธเดเตเดเตฝเดชเตเดชเดฟเดเตเดเตเด, เดชเดเตเดทเต เดชเดพเตผเดเตเดเตเดทเดจเตเดเดณเดฟเตฝ เดเดเตเดเตพเดเตเดเต เดกเดฟเดธเตเดเต เดธเตเดชเตเดธเต เดเดฒเตเดฒ, เดเดเตเดเตพเดเตเดเต เดกเดฟเดธเตเดเต เดเดฃเดเตเดฑเตเดฑเตเดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเดฟเดฒเตเดฒ.
เดจเดฎเตเดเตเดเต เดเตเดฏเตเดฏเดพเตป เดเดดเดฟเดฏเตเดจเตเดจเดคเต เดจเดฎเตเดฎเตเดเต เดกเดพเดฑเตเดฑ เดเดตเดฟเดเตเดฏเตเดเตเดเดฟเดฒเตเด เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเตเดเดฏเดพเดฃเต, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เดชเตเดชเตเดชเดฟเดฒเตเดเตเดเต, เดเตเดเดพเดคเต เดชเตเดชเตเดชเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเดฟเดฒเตเดเตเดเต เดกเดพเดฑเตเดฑ เดฑเตเดกเดฏเดฑเดเตโเดเต เดเตเดฏเตเดฏเตเด, เดเดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เดจเตเดฑเตเดฑเตโเดเดพเดฑเตเดฑเต.
mkfifo เดเดฎเดพเตปเดกเต เดเดชเดฏเตเดเดฟเดเตเดเต เดจเดฎเตเดเตเดเต เดเดฐเต เดชเตเดชเตเดชเต เดธเตเดทเตเดเดฟเดเตเดเดพเตป เดเดดเดฟเดฏเตเด. เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดถเตเดจเตเดฏเดฎเดพเดฏ เดเดเดฎเดฟเดฒเตเดฒเตเดเตเดเดฟเดฒเตเด เด
เดคเต เดเดฐเต เดตเตเดฏเดพเด เดซเดฏเตฝ เดธเตเดทเตเดเดฟเดเตเดเตเด.
เดเดชเตเดฒเดฟเดเตเดเตเดทเตป เดชเตเดจเดฐเดพเดฐเดเดญเดฟเดเตเดเต เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเด:
[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
เดเดชเตเดชเตเตพ เดจเดฎเตเดเตเดเต เด เดชเตเดชเตเดชเดฟเดฒเตเดเตเดเต เดชเตเดเตเดจเตเดจ เดเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดฏเตเด เดจเตเดฑเตเดฑเตโเดตเตผเดเตเดเต เดตเดดเดฟ เดฎเดฑเตเดฑเตเดฐเต เดธเตเตผเดตเดฑเดฟเดฒเตเดเตเดเต เดชเตเดคเดฟเดฏเตเดฃเตเดเดคเตเดฃเตเดเต; เด เดคเต เดจเตเดฑเตเดฑเตโเดเดพเดฑเตเดฑเต เดเดคเดฟเดจเต เด เดจเตเดฏเตเดเตเดฏเดฎเดพเดฃเต.
remote-server.example.com เดเดจเตเดจ เดธเตเตผเดตเดฑเดฟเตฝ เดเดเตเดเตพ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต
[user@localhost ~]$ nc -l 7777 > 123.txt
เดเดเตเดเดณเตเดเต เดชเตเดฐเดถเตเดจเดฎเตเดณเตเดณ เดธเตเตผเดตเดฑเดฟเตฝ เดเดเตเดเตพ เดเดฐเต เดชเตเดฐเดคเตเดฏเตเด เดเตเตผเดฎเดฟเดจเดฒเดฟเตฝ เดธเดฎเดพเดฐเดเดญเดฟเดเตเดเตเดจเตเดจเต
[user@localhost ~]$ nc remote-server.example.com 7777 < /mnt/logs/megapipe
เดเดชเตเดชเตเตพ เดชเตเดชเตเดชเดฟเตฝ เด เดตเดธเดพเดจเดฟเดเตเดเตเดจเตเดจ เดเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดฏเตเด เดธเตเดตเดฏเดฎเตเดต เดจเตเดฑเตเดฑเตเดเดพเดฑเตเดฑเดฟเดฒเต stdin-เดฒเตเดเตเดเต เดชเตเดเตเด, โโเด เดคเต เดชเตเตผเดเตเดเต 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
เดเดฒเตเดฒเดพ เดซเตเดฒเดพเดเตเดเดณเดฟเดฒเตเด, เดเดเตเดเตพเดเตเดเต O_WRONLY เดฎเดพเดคเตเดฐเดฎเต เดเดตเดถเตเดฏเดฎเตเดณเตเดณเต, เดเดพเดฐเดฃเด เดซเดฏเตฝ เดเดคเดฟเดจเดเด เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดเต, เดเดเตเดเตพเดเตเดเต เด เดคเต เดฎเดพเดฏเตโเดเตเดเตเดฃเตเดเดคเดฟเดฒเตเดฒ
[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
เดฑเดฟเดฎเตเดเตเดเต เดธเตเตผเดตเตผ remote-server.example.com เดชเดฐเดฟเดถเตเดงเดฟเดเตเดเตเดจเตเดจเต
[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
เด เดตเดฒเดเดฌเด: www.habr.com