char form[]="ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ ΠΈΠ· ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°";
main() {
char output[128];
int i;
for (i = 0; i βΉ 18; i++) {
switch (fork()) {
case -1: /* ΠΎΡΠΈΠ±ΠΊΠ° β ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² */
exit();
default: /* ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ */
break;
case 0: /* ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ */
/* ΡΠΎΡΠΌΠ°Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ output */
sprintf(output, "%%d\n%s%d\n", form, i, form, i);
for (;;) write(1, output, sizeof(output));
}
}
}
Π ΠΈΡΡΠ½ΠΎΠΊ 10.14. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΡ Π½Π° Π ΠΈΡΡΠ½ΠΊΠ΅ 10.14. Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΎ 18 ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²; ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΡΠΎΠΊΡ (Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ sprintf) Π² ΠΌΠ°ΡΡΠΈΠ² output, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅ΡΡΠΈΠΊΠ° i Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ fork, ΠΈ Π·Π°ΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄ΠΈΡ Π² ΡΠΈΠΊΠ» ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠΈ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ» ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π°. ΠΡΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ΅Π³ΡΠ»ΠΈΡΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊ ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠ²ΠΎΠ΄ΠΈΠΌΠ°Ρ ΡΡΡΠΎΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 64 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π΄Π»ΠΈΠ½Ρ, ΡΠΎ Π΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π²Π΅Π»ΠΈΠΊΠ° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡΡΡ Π² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ (Π΄Π»ΠΈΠ½ΠΎΠΉ 64 Π±Π°ΠΉΡΠ°) Π² Π²Π΅ΡΡΠΈΠΈ V ΡΠΈΡΡΠ΅ΠΌΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ write, ΠΈΠ½Π°ΡΠ΅ Π²ΡΠ²ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΈΡΠΊΠ°ΠΆΠ΅Π½Π½ΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΡΡ Π²ΡΠ²ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ AT&T 3B20:
this is a sample output string from child 1
this is a sample outthis is a sample output string from child 0
Π§ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. Π Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ read ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π±Π°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡ Ρ ΠΎΡΠ΅Ρ ΡΡΠΈΡΠ°ΡΡ, Π½ΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ. ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΠ³Π°Π΄Π°ΡΡ, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π΄Π΅Ρ Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΈ, Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΆΠ΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²Π΅Π΄Π΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²Π²ΠΎΠ΄ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° shell ΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΎΡΠ²Π΅ΡΠ° shell'Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΠ°Π·Π½ΠΈΡΡ, ΡΠ²Π»ΡΡΡΡΡ Π»ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ "date" ΠΈΠ»ΠΈ "who", ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ:
pic file* | tbl | eqn | troff -mm -Taps | apsend
Π’Π΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΈ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡΡ ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° shell, ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π΄Π°ΠΊΡΠΎΡΡ), ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠΎΡΡΠΎΠΌΡ ΡΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ.
ΠΠ° Π ΠΈΡΡΠ½ΠΊΠ΅ 10.15 ΠΏΠΎΠΊΠ°Π·Π°Π½ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅; Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 10.3.3 Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΡΠ»ΠΈ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² Π»ΡΠ±ΠΎΠΌ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠΎΡΠ΅ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ "ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ" ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΠΌ ΡΡΠ΅Π½ΠΈΠ΅, ΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡ ΠΎΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π». ΠΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ» Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΡΡΠ΅Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΡΠ΅ΡΡ, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΠ΅, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ, Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΡΡΠΎΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π·Π°Π΄Π°ΡΠΈ Π΄ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΡΠ΅ΡΠΊΠΈ ΠΈΠ»ΠΈ Π΄ΠΎ ΠΈΡΡΠ΅ΡΠΏΠ°Π½ΠΈΡ ΡΠΈΡΠ»Π° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ read, ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ ΡΠ°Π½ΡΡΠ΅. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΡΡ , ΡΠ°Π΄ΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΠ» ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ: Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΡΠΈΡΠ°Π»ΠΈ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π΄Π»Ρ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π±ΡΠ» Π·Π°ΠΏΡΡΠ΅Π½ Π²Π½ΠΎΠ²Ρ. Π’Π°ΠΊΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈΠ· ΠΊΠ°Π½Π°Π»Π° ΡΡΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ².
Π°Π»Π³ΠΎΡΠΈΡΠΌ terminal_read
{
if (Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π΄Π°Π½Π½ΡΠ΅) {
do while (Π² ΡΠΏΠΈΡΠΊΠ΅ Π΄Π»Ρ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ) {
if (ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΎΡΠΊΡΡΡ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ "no delay" (Π±Π΅Π· Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ)) return;
if (ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈ ΡΠ°ΠΉΠΌΠ΅Ρ Π½Π΅ Π°ΠΊΡΠΈΠ²Π΅Π½)
ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΊ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ° (ΡΠ°Π±Π»ΠΈΡΠ° ΠΎΡΠ²Π΅ΡΠ½ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²);
sleep (Π΄ΠΎ ΠΏΠΎΡΡΡΠΏΠ»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°);
}
/* Π² ΡΠΏΠΈΡΠΊΠ΅ Π΄Π»Ρ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ */
if (ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π±Π΅Π· ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ)
ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π΄Π»Ρ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ;
else { /* ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ */
do while (Π² ΡΠΏΠΈΡΠΊΠ΅ Π΄Π»Ρ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ) {
ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π΄Π»Ρ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ: Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ;
if (ΡΠΈΠΌΠ²ΠΎΠ» β "Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΠ°ΡΠ΅ΡΠΊΠΈ" ΠΈΠ»ΠΈ "ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°") break; /* Π²ΡΡ ΠΎΠ΄ ΠΈΠ· ΡΠΈΠΊΠ»Π° */
}
}
}
do while(Π² ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈ Π½Π΅ ΠΈΡΡΠ΅ΡΠΏΠ°Π½ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ read)
ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠ°Π½ΠΎΠ½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ Π·Π°Π΄Π°ΡΠΈ;
}
Π ΠΈΡΡΠ½ΠΎΠΊ 10.15. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π°ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡΠ½Π°, ΡΡΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π½Π°Π»ΠΈΡΠΈΡ Π΄Π²ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ β Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π°. Π‘ΡΡΠΎΠΊΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° Π·Π°Π΄Π°ΡΠΈ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΈΡ ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ ΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ»Ρ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ Π±Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΠ΄Π½Π°ΠΊΠΎ, Π² ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΡΡΠΈΡΠ°Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΎ Π±Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΠΈ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈ Π·Π°ΠΏΡΠ΅ΡΠΈΠ»ΠΎ Π±Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π½Π° Π²ΡΠ΅ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Π½Π΅ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°, ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠ΅Π³ΠΎ ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈ Π²ΠΎΠ·ΡΠΌΠ΅Ρ Π½Π° ΡΠ΅Π±Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ . ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅Ρ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΡΠΏΡΡΡΠ²Π°Π΅Ρ Π»ΠΈΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΡ ΠΏΡΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅.
char input[256];
main() {
register int i;
for (i = 0; i βΉ 18; i++) {
switch (fork()) {
case -1: /* ΠΎΡΠΈΠ±ΠΊΠ° */
printf("ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ fork Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΈΠ·-Π·Π° ΠΎΡΠΈΠ±ΠΊΠΈ\n");
exit();
default: /* ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ */
break;
case 0: /* ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ */
for (;;) {
read(0, input, 256); /* ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ */
printf("%d ΡΡΠ΅Π½ΠΈΠ΅ %s\n",i,input);
}
}
}
}
Π ΠΈΡΡΠ½ΠΎΠΊ 10.16. ΠΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠΈΡ Π·Π° Π΄Π°Π½Π½ΡΠ΅, Π²Π²ΠΎΠ΄ΠΈΠΌΡΠ΅ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°
ΠΠ° Π ΠΈΡΡΠ½ΠΊΠ΅ 10.16 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΠΈΡ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, ΠΊΠΎΠ½ΠΊΡΡΠΈΡΡΡ Π·Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , Π²Π²ΠΎΠ΄ΠΈΠΌΡΡ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°. ΠΠ²ΠΎΠ΄ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΠΈΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ, Π²Π΅Π΄ΡΡΠΈΠ΅ ΡΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ terminal_read, ΠΎΠΆΠΈΠ΄Π°Ρ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ ΠΎΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², Π²Π΅Π΄ΡΡΠΈΡ ΡΡΠ΅Π½ΠΈΠ΅; ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π±ΡΠ»ΠΈ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°, ΠΎΠ½ΠΈ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΏΡΠ΅Π΄ΡΠ³Π°Π΄Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈ ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΡΡΡΠΎΠΊΡ Π΄Π°Π½Π½ΡΡ ; ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ. ΠΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ, Π½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ°Ρ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠΏΠΈΡΠΊΠ°Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Π²ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ½ΠΎΠ²Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ. ΠΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ° ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ; Π½Π΅Π»ΡΠ·Ρ Π΄Π°ΡΡ Π³Π°ΡΠ°Π½ΡΠΈΡ, ΡΡΠΎ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π½Π΅ Π·Π°Ρ Π²Π°ΡΠΈΡ Π²ΡΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.