เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ: เชคเซเชฐเชฃ เชธเชฐเชณ เชŸเซเช•เชกเชพเช“. เชญเชพเช— 3: เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ API (เช…เชจเซเชตเชพเชฆ)

เช‘เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธเชจเซ‹ เชชเชฐเชฟเชšเชฏ

เชนเซ‡ เชนเชฌเชฐ! เชนเซเช‚ เชคเชฎเชพเชฐเชพ เชงเซเชฏเชพเชจ เชชเชฐ เชฎเชพเชฐเชพ เชฎเชคเซ‡ เชเช• เชฐเชธเชชเซเชฐเชฆ เชธเชพเชนเชฟเชคเซเชฏเชจเชพ เชฒเซ‡เช–เซ‹-เช…เชจเซเชตเชพเชฆเซ‹เชจเซ€ เชถเซเชฐเซ‡เชฃเซ€ เชฒเชพเชตเชตเชพ เชฎเชพเช‚เช—เซ เช›เซเช‚ - OSTEP. เช† เชธเชพเชฎเช—เซเชฐเซ€ เชฏเซเชจเชฟเช•เซเชธ เชœเซ‡เชตเซ€ เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเชจเชพ เช•เชพเชฎเชจเซ€ เช–เซ‚เชฌ เชŠเช‚เชกเชพเชฃเชชเซ‚เชฐเซเชตเช• เชšเชฐเซเชšเชพ เช•เชฐเซ‡ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“, เชตเชฟเชตเชฟเชง เชถเซ‡เชกเซเชฏเซเชฒเชฐเซเชธ, เชฎเซ‡เชฎเชฐเซ€ เช…เชจเซ‡ เช…เชจเซเชฏ เชธเชฎเชพเชจ เช˜เชŸเช•เซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เซ‡ เชœเซ‡ เช†เชงเซเชจเชฟเช• OS เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชคเชฎเซ‡ เช…เชนเซ€เช‚ เชคเชฎเชพเชฎ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ€ เชฎเซ‚เชณ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚. เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชงเซ‹ เช•เซ‡ เช…เชจเซเชตเชพเชฆ เช…เชตเซเชฏเชพเชตเชธเชพเชฏเชฟเช• เชฐเซ€เชคเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹ (เชคเชฆเซเชฆเชจ เชฎเซเช•เซเชคเชชเชฃเซ‡), เชชเชฐเช‚เชคเซ เชฎเชจเซ‡ เช†เชถเชพ เช›เซ‡ เช•เซ‡ เชฎเซ‡เช‚ เชธเชพเชฎเชพเชจเซเชฏ เช…เชฐเซเชฅ เชœเชพเชณเชตเซ€ เชฐเชพเช–เซเชฏเซ‹ เช›เซ‡.

เช† เชตเชฟเชทเชฏ เชชเชฐ เชฒเซ‡เชฌ เชตเชฐเซเช• เช…เชนเซ€เช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡:

เช…เชจเซเชฏ เชญเชพเช—เซ‹:

เชคเชฎเซ‡ เชฎเชพเชฐเซ€ เชšเซ‡เชจเชฒ เชชเชฐ เชชเชฃ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹ เชŸเซ‡เชฒเชฟเช—เซเชฐเชพเชฎ =)

เชเชฒเชพเชฐเซเชฎ! เช† เชตเซเชฏเชพเช–เซเชฏเชพเชจ เชฎเชพเชŸเซ‡ เชเช• เชฒเซ‡เชฌ เช›เซ‡! เชœเซเช“ เช—เซ€เชฅเชฌ

เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ API

เชšเชพเชฒเซ‹ UNIX เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฌเชจเชพเชตเชตเชพเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชœเซ‹เชˆเช. เชคเซ‡ เชฌเซ‡ เชธเชฟเชธเซเชŸเชฎ เช•เซ‹เชฒเซเชธ เชฆเซเชตเชพเชฐเชพ เชฅเชพเชฏ เช›เซ‡ เช•เชพเช‚เชŸเซ‹ () ะธ exec().

เชซเซ‹เชฐเซเช•เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‹()

เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ: เชคเซเชฐเชฃ เชธเชฐเชณ เชŸเซเช•เชกเชพเช“. เชญเชพเช— 3: เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ API (เช…เชจเซเชตเชพเชฆ)

เชเช• เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‹ เชตเชฟเชšเชพเชฐ เช•เชฐเซ‹ เชœเซ‡ เชซเซ‹เชฐเซเช•() เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡เชจเชพ เช…เชฎเชฒเชจเซเช‚ เชชเชฐเชฟเชฃเชพเชฎ เชจเซ€เชšเซ‡ เชฎเซเชœเชฌ เชนเชถเซ‡.

เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ: เชคเซเชฐเชฃ เชธเชฐเชณ เชŸเซเช•เชกเชพเช“. เชญเชพเช— 3: เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ API (เช…เชจเซเชตเชพเชฆ)

เชธเซŒ เชชเซเชฐเชฅเชฎ, เช†เชชเชฃเซ‡ main() เชซเช‚เช•เซเชถเชจ เชฆเชพเช–เชฒ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เชธเซเชŸเซเชฐเซ€เช‚เช—เชจเซ‡ เชธเซเช•เซเชฐเซ€เชจ เชชเชฐ เชชเซเชฐเชฟเชจเซเชŸ เช•เชฐเซ€เช เช›เซ€เช. เชฒเชพเช‡เชจเชฎเชพเช‚ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช“เชณเช–เช•เชฐเซเชคเชพ เชนเซ‹เชฏ เช›เซ‡ เชœเซ‡เชจเซ‡ เชฎเซ‚เชณเชฎเชพเช‚ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ PID เช…เชฅเชตเชพ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช“เชณเช–เช•เชฐเซเชคเชพ. เช† เช“เชณเช–เช•เชฐเซเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‹ เชธเช‚เชฆเชฐเซเชญ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡ UNIX เชฎเชพเช‚ เชฅเชพเชฏ เช›เซ‡. เช†เช—เชณเชจเซ‹ เช†เชฆเซ‡เชถ เชซเซ‹เชฐเซเช•() เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชถเซ‡. เช† เชฌเชฟเช‚เชฆเซเช, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ€ เชฒเช—เชญเช— เชšเซ‹เช•เซเช•เชธ เชจเช•เชฒ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. OS เชฎเชพเชŸเซ‡, เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชธเชฟเชธเซเชŸเชฎ เชชเชฐ เชธเชฎเชพเชจ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ€ 2 เชจเช•เชฒเซ‹ เชšเชพเชฒเซ€ เชฐเชนเซ€ เช›เซ‡, เชœเซ‡ เชฌเชฆเชฒเชพเชฎเชพเช‚ เชซเซ‹เชฐเซเช•() เชซเช‚เช•เซเชถเชจเชฎเชพเช‚เชฅเซ€ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเซ€ เชœเชถเซ‡. เชฎเซเช–เซเชฏ() เชซเช‚เช•เซเชถเชจเชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡, เชจเชตเซ€ เชฌเชจเชพเชตเซ‡เชฒเซ€ เชšเชพเช‡เชฒเซเชก เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ (เชคเซ‡เชจเซ‡ เชฌเชจเชพเชตเซ‡เชฒเซ€ เชชเซ‡เชฐเซ‡เชจเซเชŸ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเชพ เชธเช‚เชฌเช‚เชงเชฎเชพเช‚) เชนเชตเซ‡ เชšเชฒเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚. เชคเซ‡ เชฏเชพเชฆ เชฐเชพเช–เชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชฌเชพเชณ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช เชชเชฟเชคเซƒ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ€ เชšเซ‹เช•เซเช•เชธ เชจเช•เชฒ เชจเชฅเซ€; เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เชคเซ‡เชจเซ€ เชชเซ‹เชคเชพเชจเซ€ เชธเชฐเชจเชพเชฎเชพเช‚เชจเซ€ เชœเช—เซเชฏเชพ, เชคเซ‡เชจเชพ เชชเซ‹เชคเชพเชจเชพ เชฐเชœเชฟเชธเซเชŸเชฐ, เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชธเซ‚เชšเชจเชพเช“เชจเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เชจเชฟเชฐเซเชฆเซ‡เชถเช• เช…เชจเซ‡ เชคเซ‡เชจเชพ เชœเซ‡เชตเชพ เช›เซ‡. เช†เชฎ, เชซเซ‹เชฐเซเช•() เชซเช‚เช•เซเชถเชจเชจเชพ เช•เซ‹เชฒเชฐเชจเซ‡ เชชเชฐเชค เช•เชฐเซ‡เชฒ เชฎเซ‚เชฒเซเชฏ เช…เชฒเช— เชนเชถเซ‡. เช–เชพเชธ เช•เชฐเซ€เชจเซ‡, เชชเชฟเชคเซƒ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชตเชณเชคเชฐ เชคเชฐเซ€เช•เซ‡ เชฌเชพเชณเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ€ PID เชฎเซ‚เชฒเซเชฏ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ‡, เช…เชจเซ‡ เชฌเชพเชณเช•เชจเซ‡ 0 เชœเซ‡เชŸเชฒเซเช‚ เชฎเซ‚เชฒเซเชฏ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ‡. เช† เชตเชณเชคเชฐ เช•เซ‹เชกเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชคเชฎเซ‡ เชชเช›เซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ‡ เช…เชฒเช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชฆเชฐเซ‡เช•เชจเซ‡ เชคเซ‡เชจเซเช‚ เชชเซ‹เชคเชพเชจเซเช‚ เช•เชพเชฎ เช•เชฐเชตเชพ เชฆเชฌเชพเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. . เชœเซ‹ เช•เซ‡, เช† เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‹ เช…เชฎเชฒ เช•เชกเช• เชฐเซ€เชคเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชจเชฅเซ€. 2 เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชฎเชพเช‚ เชตเชฟเชญเชพเชœเชจ เช•เชฐเซเชฏเชพ เชชเช›เซ€, OS เชคเซ‡เชฎเชจเซเช‚ เชจเชฟเชฐเซ€เช•เซเชทเชฃ เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เชฎเชœ เชคเซ‡เชฎเชจเชพ เช•เชพเชฐเซเชฏเชจเซ€ เชฏเซ‹เชœเชจเชพ เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชœเซ‹ เชธเชฟเช‚เช—เชฒ-เช•เซ‹เชฐ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชชเชฐ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡, เชคเซ‹ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชฎเชพเช‚เชฅเซ€ เชเช•, เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชฎเชพเชคเชพเชชเชฟเชคเชพ เช•เชพเชฎ เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เชถเซ‡, เช…เชจเซ‡ เชชเช›เซ€ เชฌเชพเชณเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชจเชฟเชฏเช‚เชคเซเชฐเชฃ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ‡. เชชเซเชจเชƒเชชเซเชฐเชพเชฐเช‚เชญ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡, เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เช…เชฒเช— เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

เช•เซ‰เชฒ เชฐเชพเชน ()

เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ: เชคเซเชฐเชฃ เชธเชฐเชณ เชŸเซเช•เชกเชพเช“. เชญเชพเช— 3: เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ API (เช…เชจเซเชตเชพเชฆ)

เชจเซ€เชšเซ‡เชจเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‹ เชตเชฟเชšเชพเชฐ เช•เชฐเซ‹. เช† เช•เชพเชฐเซเชฏเช•เซเชฐเชฎเชฎเชพเช‚ เช•เซ‹เชฒเชจเซ€ เชนเชพเชœเชฐเซ€เชจเชพ เช•เชพเชฐเชฃเซ‡ เชคเชพ เชฐเชพเชน เชœเซเช“() เชฎเชพเชคเชพเชชเชฟเชคเชพ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชนเช‚เชฎเซ‡เชถเชพ เชฌเชพเชณเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชชเซ‚เชฐเซเชฃ เชฅเชตเชพเชจเซ€ เชฐเชพเชน เชœเซ‹เชถเซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เช…เชฎเชจเซ‡ เชธเซเช•เซเชฐเซ€เชจ เชชเชฐ เชธเช–เชค เชฐเซ€เชคเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เชŸเซ‡เช•เซเชธเซเชŸ เช†เช‰เชŸเชชเซเชŸ เชฎเชณเชถเซ‡

เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ: เชคเซเชฐเชฃ เชธเชฐเชณ เชŸเซเช•เชกเชพเช“. เชญเชพเช— 3: เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ API (เช…เชจเซเชตเชพเชฆ)

exec() เช•เซ‰เชฒ

เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎเซเชธ: เชคเซเชฐเชฃ เชธเชฐเชณ เชŸเซเช•เชกเชพเช“. เชญเชพเช— 3: เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ API (เช…เชจเซเชตเชพเชฆ)

เชชเชกเช•เชพเชฐเชจเซ‹ เชตเชฟเชšเชพเชฐ เช•เชฐเซ‹ exec(). เชœเซเชฏเชพเชฐเซ‡ เช†เชชเชฃเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชฒเช— เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชšเชฒเชพเชตเชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช เชคเซเชฏเชพเชฐเซ‡ เช† เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡. เช…เชนเซ€เช‚ เช…เชฎเซ‡ เช•เซ‰เชฒ เช•เชฐเซ€เชถเซเช‚ execvp() เชกเชฌเชฒเซเชฏเซเชธเซ€ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เชœเซ‡ เชถเชฌเซเชฆ เช—เชฃเชจเชพ เช•เชพเชฐเซเชฏเช•เซเชฐเชฎ เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ exec() เช•เชนเซ‡เชตเชพเชฏ เช›เซ‡ เชคเซเชฏเชพเชฐเซ‡ เชถเซเช‚ เชฅเชพเชฏ เช›เซ‡? เช† เช•เซ‰เชฒเชจเซ‡ เชเช•เซเชเซ‡เช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเช‡เชฒเชจเซเช‚ เชจเชพเชฎ เช…เชจเซ‡ เชฆเชฒเซ€เชฒเซ‹ เชคเชฐเซ€เช•เซ‡ เช•เซ‡เชŸเชฒเชพเช• เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชชเชธเชพเชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชœเซ‡ เชชเช›เซ€ เช† เชเช•เซเชเชฟเช•เซเชฏเซเชŸเซ‡เชฌเชฒ เชซเชพเชˆเชฒเชฎเชพเช‚เชฅเซ€ เช•เซ‹เชก เช…เชจเซ‡ เชธเซเชŸเซ‡เชŸเชฟเช• เชกเซ‡เชŸเชพ เชฒเซ‹เชก เชฅเชพเชฏ เช›เซ‡ เช…เชจเซ‡ เช•เซ‹เชก เชธเชพเชฅเซ‡เชจเซ‹ เชชเซ‹เชคเชพเชจเซ‹ เชธเซ‡เช—เชฎเซ‡เชจเซเชŸ เช“เชตเชฐเชฐเชพเชˆเชŸ เชฅเชˆ เชœเชพเชฏ เช›เซ‡. เชฌเชพเช•เซ€เชจเชพ เชฎเซ‡เชฎเชฐเซ€ เชตเชฟเชธเซเชคเชพเชฐเซ‹, เชœเซ‡เชฎ เช•เซ‡ เชธเซเชŸเซ‡เช• เช…เชจเซ‡ เชนเซ€เชช, เชซเชฐเซ€เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชœเซ‡ เชชเช›เซ€ OS เชซเช•เซเชค เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซ‡ เช›เซ‡, เชคเซ‡เชจเซ‡ เชฆเชฒเซ€เชฒเซ‹เชจเซ‹ เชธเชฎเซ‚เชน เชชเชธเชพเชฐ เช•เชฐเซ‡ เช›เซ‡. เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ เชจเชตเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฌเชจเชพเชตเซ€ เชจเชฅเซ€, เช…เชฎเซ‡ เชซเช•เซเชค เชตเชฐเซเชคเชฎเชพเชจเชฎเชพเช‚ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ‡ เชฌเซ€เชœเชพ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซเชฏเซเช‚ เช›เซ‡. เชตเช‚เชถเชœเชฎเชพเช‚ exec() เช•เซ‹เชฒ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เชœเชพเชฃเซ‡ เชฎเซ‚เชณ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ เชฌเชฟเชฒเช•เซเชฒ เชšเชพเชฒเซเชฏเซ‹ เชจ เชนเชคเซ‹.

เชฏเซเชจเชฟเช•เซเชธ เชถเซ‡เชฒ เชฎเชพเชŸเซ‡ เช† เชธเซเชŸเชพเชฐเซเชŸเช…เชช เช—เซ‚เช‚เชšเชตเชฃ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เช›เซ‡, เช…เชจเซ‡ เชคเซ‡ เชถเซ‡เชฒเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เช•เซ‹เชก เชšเชฒเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡. เช•เชพเช‚เชŸเซ‹ (), เชชเชฐเช‚เชคเซ เช•เซ‰เชฒ เชชเชนเซ‡เชฒเชพเช‚ exec(). เช†เชตเชพ เช•เซ‹เชกเชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชถเซ‡เชฒ เชเชจเซเชตเชพเชฏเชฐเซเชจเชฎเซ‡เชจเซเชŸเชจเซ‡ เชฒเซ‹เช‚เชš เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชคเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซ€ เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹ เชธเชพเชฅเซ‡ เชธเชฎเชพเชฏเซ‹เชœเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เช›เซ‡, เชคเซ‡เชจเซ‡ เชฒเซ‹เชจเซเชš เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ.

เชถเซ‡เชฒ - เชฎเชพเชคเซเชฐ เชเช• เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช•เชพเชฐเซเชฏเช•เซเชฐเชฎ. เชคเซ‡ เชคเชฎเชจเซ‡ เช†เชฎเช‚เชคเซเชฐเชฃ เชฒเชพเช‡เชจ เชฌเชคเชพเชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเชฎเซ‡ เชคเซ‡เชฎเชพเช‚ เช•เช‚เชˆเช• เชฒเช–เซ‹ เชคเซ‡เชจเซ€ เชฐเชพเชน เชœเซเช เช›เซ‡. เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚, เชœเซ‹ เชคเชฎเซ‡ เชคเซเชฏเชพเช‚ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซเช‚ เชจเชพเชฎ เชฒเช–เซ‹ เช›เซ‹, เชคเซ‹ เชถเซ‡เชฒ เชคเซ‡เชจเซเช‚ เชธเซเชฅเชพเชจ เชถเซ‹เชงเซ€ เช•เชพเชขเชถเซ‡, เชซเซ‹เชฐเซเช•() เชชเชฆเซเชงเชคเชฟเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชชเช›เซ€ เชจเชตเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเชพ exec()เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเซ‚เชฐเซเชฃ เชฅเชตเชพเชจเซ€ เชฐเชพเชน เชœเซเช“. wait() เช•เซ‰เชฒ เช•เชฐเซ‹. เชœเซเชฏเชพเชฐเซ‡ เชšเชพเช‡เชฒเซเชก เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชถเซ‡เชฒ wait() เช•เซ‰เชฒเชฎเชพเช‚เชฅเซ€ เชชเชพเช›เซ‹ เช†เชตเชถเซ‡ เช…เชจเซ‡ เชซเชฐเซ€เชฅเซ€ เชชเซเชฐเซ‹เชฎเซเชชเซเชŸเชจเซ‡ เช›เชพเชชเชถเซ‡ เช…เชจเซ‡ เช†เช—เชฒเซ‹ เช†เชฆเซ‡เชถ เชฆเชพเช–เชฒ เชฅเชตเชพเชจเซ€ เชฐเชพเชน เชœเซเช“.

เชซเซ‹เชฐเซเช•() เช…เชจเซ‡ exec() เชธเซเชชเซเชฒเชฟเชŸ เชถเซ‡เชฒเชจเซ‡ เชจเซ€เชšเซ‡เชจเซ€ เชฌเชพเชฌเชคเซ‹ เช•เชฐเชตเชพ เชฆเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡:
wc เชซเชพเช‡เชฒ > new_file.

เช† เช‰เชฆเชพเชนเชฐเชฃเชฎเชพเช‚, wc เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชจเซเช‚ เช†เช‰เชŸเชชเซเชŸ เชซเชพเช‡เชฒเชฎเชพเช‚ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เชฅเชพเชฏ เช›เซ‡. เชถเซ‡เชฒ เชœเซ‡ เชฐเซ€เชคเซ‡ เช† เชนเชพเช‚เชธเชฒ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชเช•เชฆเชฎ เชธเชฐเชณ เช›เซ‡ - เช•เซ‰เชฒ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เชฌเชพเชณเช• เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฌเชจเชพเชตเซ€เชจเซ‡ exec(), เชถเซ‡เชฒ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เช†เช‰เชŸเชชเซเชŸ เชฌเช‚เชง เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชซเชพเช‡เชฒ เช–เซ‹เชฒเซ‡ เช›เซ‡ เชจเชตเซ€_เชซเชพเชˆเชฒ, เช†เชฎ, เช†เช—เชณ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒเชพ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฎเชพเช‚เชฅเซ€ เชคเชฎเชพเชฎ เช†เช‰เชŸเชชเซเชŸ wc เชธเซเช•เซเชฐเซ€เชจเชจเซ‡ เชฌเชฆเชฒเซ‡ เชซเชพเช‡เชฒ เชชเชฐ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡.

เชฏเซเชจเชฟเช•เซเชธ เชชเชพเช‡เชช เชธเชฎเชพเชจ เชฐเซ€เชคเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเชซเชพเชตเชค เชธเชพเชฅเซ‡ เช•เซ‡ เชคเซ‡เช“ เชชเชพเช‡เชช() เช•เซ‹เชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‹ เช†เช‰เชŸเชชเซเชŸ เชธเซเชŸเซเชฐเซ€เชฎ เช•เชฐเซเชจเชฒเชฎเชพเช‚ เชธเซเชฅเชฟเชค เชชเชพเช‡เชช เช•เชคเชพเชฐ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชฏเซ‡เชฒ เชนเชถเซ‡, เชœเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชฌเซ€เชœเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‹ เช‡เชจเชชเซเชŸ เชธเซเชŸเซเชฐเซ€เชฎ เช•เชจเซ‡เช•เซเชŸ เชฅเชถเซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹