เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ: เจคเจฟเฉฐเจจ เจ†เจธเจพเจจ เจŸเฉเจ•เฉœเฉ‡. เจญเจพเจ— 3: เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† API (เจ…เจจเฉเจตเจพเจฆ)

เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจœเจพเจฃ-เจชเจ›เจพเจฃ

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

เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจฒเฉˆเจฌ เจฆเจพ เจ•เฉฐเจฎ เจ‡เฉฑเจฅเฉ‡ เจชเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

เจนเฉ‹เจฐ เจนเจฟเฉฑเจธเฉ‡:

เจคเฉเจธเฉ€เจ‚ เจฎเฉ‡เจฐเฉ‡ เจšเฉˆเจจเจฒ 'เจคเฉ‡ เจตเฉ€ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจคเจพเจฐ =)

เจ…เจฒเจพเจฐเจฎ! เจ‡เจธ เจฒเฉˆเจ•เจšเจฐ เจฒเจˆ เจ‡เฉฑเจ• เจฒเฉˆเจฌ เจนเฉˆ! เจฆเฉ‡เจ–เฉ‹ github

เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† 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() wc เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจธเจผเจฌเจฆ เจ—เจฟเจฃเจคเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจนเฉˆเฅค เจœเจฆเฉ‹เจ‚ exec() เจจเฉ‚เฉฐ เจฌเฉเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจ•เฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ? เจ‡เจธ เจ•เจพเจฒ เจจเฉ‚เฉฐ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจซเจพเจˆเจฒ เจฆเจพ เจจเจพเจฎ เจ…เจคเฉ‡ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉเจ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจชเจพเจธ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เจธ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸเฉ‡เจฌเจฒ เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจ•เฉ‹เจก เจ…เจคเฉ‡ เจธเจŸเฉˆเจŸเจฟเจ• เจกเฉ‡เจŸเจพ เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เฉ‹เจก เจฆเฉ‡ เจจเจพเจฒ เจ‡เจธเจฆเฉ‡ เจ†เจชเจฃเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจ“เจตเจฐเจฐเจพเจˆเจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจฌเจพเจ•เฉ€ เจฌเจšเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เฉ‡เจคเจฐ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจธเจŸเฉˆเจ• เจ…เจคเฉ‡ เจนเฉ€เจช, เจฎเฉเฉœ-เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ OS เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเฉ‚เฉฐ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เจธ เจจเฉ‚เฉฐ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจธ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจชเจพเจธ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ•เฉ‹เจˆ เจจเจตเฉ€เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจจเจนเฉ€เจ‚ เจฌเจฃเจพเจˆ, เจ…เจธเฉ€เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ เจนเฉˆเฅค เจตเฉฐเจธเจผ เจตเจฟเฉฑเจš exec() เจ•เจพเจฒ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจœเจฟเจนเจพ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ…เจธเจฒ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฌเจฟเจฒเจ•เฉเจฒ เจจเจนเฉ€เจ‚ เจšเฉฑเจฒเจฟเจ†เฅค

เจ‡เจน เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจชเฉ‡เจšเฉ€เจฆเจ—เฉ€ เจฏเฉ‚เจจเจฟเจ•เจธ เจธเจผเฉˆเฉฑเจฒ เจฒเจˆ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ†เจฎ เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจธ เจธเจผเฉˆเฉฑเจฒ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจพเจ‚เจŸเจพ (), เจชเจฐ เจ•เจพเจฒ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ exec(). เจ…เจœเจฟเจนเฉ‡ เจ•เฉ‹เจก เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจธเจผเฉˆเฉฑเจฒ เจตเจพเจคเจพเจตเจฐเจจ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เฉ€เจคเฉ‡ เจœเจพ เจฐเจนเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ€เจ†เจ‚ เจฒเฉ‹เฉœเจพเจ‚ เจฎเฉเจคเจพเจฌเจ• เจเจกเจœเจธเจŸ เจ•เจฐเจจเจพ, เจ‡เจธเจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚เฅค

เจธเจผเฉˆเจฒ - เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ. เจ‰เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉฑเจฆเจพ เจชเฉฑเจคเจฐ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ‡ เจ•เฉเจ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‰เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเจพ เจจเจพเจฎ เจฒเจฟเจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจธเจผเฉˆเฉฑเจฒ เจ‡เจธเจฆเจพ เจธเจฅเจพเจจ เจฒเฉฑเจญเฉ‡เจ—เจพ, เจซเฉ‹เจฐเจ•() เจตเจฟเจงเฉ€ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟเจธเฉ‡ เจ•เจฟเจธเจฎ เจฆเฉ‡ exec() เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เจธเจฆเฉ‡ เจชเฉ‚เจฐเจพ เจนเฉ‹เจฃ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเฉ‹เฅค wait() เจ•เจพเจฒ เจ•เจฐเฉ‹เฅค เจœเจฆเฉ‹เจ‚ เจšเจพเจˆเจฒเจก เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฌเฉฐเจฆ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจธเจผเฉˆเฉฑเจฒ wait() เจ•เจพเจฒ เจคเฉ‹เจ‚ เจตเจพเจชเจธ เจ† เจœเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจชเฉเจฐเฉ‹เจ‚เจชเจŸ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจชเฉเจฐเจฟเฉฐเจŸ เจ•เจฐเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ…เจ—เจฒเฉ€ เจ•เจฎเจพเจ‚เจก เจฆเฉ‡ เจฆเจพเจ–เจฒ เจนเฉ‹เจฃ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐเฉ‡เจ—เจพเฅค

เจซเฉ‹เจฐเจ•() เจ…เจคเฉ‡ exec() เจธเจชเจฒเจฟเจŸ เจธเจผเฉˆเฉฑเจฒ เจจเฉ‚เฉฐ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ:
wc เจซเจพเจˆเจฒ> เจจเจตเฉ€เจ‚_เจซเจพเจˆเจฒ.

เจ‡เจธ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš, wc เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ‡ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจฐเฉ€เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจธเจผเฉˆเฉฑเจฒ เจฆเฉเจ†เจฐเจพ เจ‡เจธ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจคเจฐเฉ€เจ•เจพ เจ•เจพเจซเจผเฉ€ เจธเจฐเจฒ เจนเฉˆ - เจ•เจพเจฒ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เฉฑเจ• เจšเจพเจˆเจฒเจก เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฌเจฃเจพ เจ•เฉ‡ exec(), เจธเจผเฉˆเฉฑเจฒ เจธเจŸเฉˆเจ‚เจกเจฐเจก เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฌเฉฐเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจนเจฆเจพ เจนเฉˆ new_file, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจ…เฉฑเจ—เฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจคเฉ‹เจ‚ เจธเจพเจฐเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ wc เจ‡เฉฑเจ• เจธเจ•เจฐเฉ€เจจ เจฆเฉ€ เจฌเจœเจพเจ เจ‡เฉฑเจ• เจซเจพเจ‡เจฒ 'เจคเฉ‡ เจฐเฉ€เจกเจพเจ‡เจฐเฉˆเจ•เจŸ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ.

เจฏเฉ‚เจจเจฟเจ•เจธ เจชเจพเจˆเจช เจ‡เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจ‡เจธ เจ…เฉฐเจคเจฐ เจจเจพเจฒ เจ•เจฟ เจ‰เจน เจชเจพเจˆเจช() เจ•เจพเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ€ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจธเจŸเฉเจฐเฉ€เจฎ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจธเจฅเจฟเจค เจชเจพเจˆเจช เจ•เจคเจพเจฐ เจจเจพเจฒ เจœเฉเฉœเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€, เจœเจฟเจธ เจจเจพเจฒ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ€ เจ‡เจจเจชเฉเจŸ เจธเจŸเฉเจฐเฉ€เจฎ เจœเฉเฉœ เจœเจพเจตเฉ‡เจ—เฉ€เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹