48
Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ext2. ΠΡΠΈ Π΄Π²Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠΈ (ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΠΆΠ΅ ΡΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ext3 Π½Π° ext2), ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° ΠΎΠ±Π΅ΠΈΡ . Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π΅ΡΠ»ΠΈ Π² ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΡΠ΅ΠΊΡΡΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ 3 Π½Π° 2, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΡΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅.
49
Π₯ΠΎΡΡ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ, ΡΡΠΎ PATH_MAX Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²Π΅Π»ΠΈΠΊ, Π½ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΎΠ½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ ΠΏΠ°ΡΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΠ»ΡΡΠ°ΡΠΌΠΈ, ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ·ΡΠ²Π°ΡΡ readlink() ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Ρ Π±ΡΡΠ΅Ρ, Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° readlink() Π½Π΅ Π²Π΅ΡΠ½Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ bufsiz.
50
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½Ρ ΠΊΠ°ΠΊ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΎΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
51
Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ.
52
ΠΡΠ° ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π° Π² Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ Π΅Π΄ΠΈΠ½ΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Unix (Single Unix Specification).
53
ΠΡΠΎ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΡΡ nohup.
54
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² ΡΠ΅Π΅Π½ΡΠ΅ΡΠ°Π±Π΅Π»ΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΡΡ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ². ΠΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΠΎΡΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΡΡΡ ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Π΅Π½ΡΠ΅ΡΠ°Π±Π΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌ.
55
ΠΠΎΠΎΠ±ΡΠ΅-ΡΠΎ, Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ. ΠΠΎΠ΄Π΅Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ANSI/ISO Π‘ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°ΡΠ΅, ΡΠ΅ΠΌ ΠΌΡ Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½Π° Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ±ΡΠΎΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ SIG_DFL ΠΏΠ΅ΡΠ΅Π΄ Π΄ΠΎΡΡΠ°Π²ΠΊΠΎΠΉ ΡΠΈΠ³Π½Π°Π»Π°, ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ signal() Π² ASNI/ISO Π‘ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΡΠΌΠΈ.
56
Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ POSIX Real Time Signal ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΠ³Π½Π°Π»Π°ΠΌ ΡΡΠ°Π²ΠΈΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΠΈ Π΄Π»Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ. Π‘ΠΈΠ³Π½Π°Π»Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΠ½ΡΡ ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ.
57
ΠΡΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠΈΠΏΡ fd_set, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ select(), ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² Π³Π»Π°Π²Π΅ 13.
58
Π Π°Π·Π½ΠΈΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΡΡΡΡΠΌΠΈ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠ° ΠΆΠ΅, ΡΡΠΎ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΡΡΡΡΠΌΠΈ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ, ΠΈ ΠΎΠ½Π° ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π΅ 11.
59
ΠΠΌΠ΅ΡΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ; ΠΎΠ½ΠΈ ΠΊΠ°ΡΠ°ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π½Π΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ.
60
Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΠ½Π° ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΠ³Π½Π°Π» ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΏΠΎΡΠΎΠΊΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°.
61
ΠΡΠΈ ΡΠ»Π°Π³ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π² Single Unix Specification. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π°, ΠΎΡΠ»ΠΈΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΎΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π² ΡΠ΅ΠΊΡΡΠ΅.
62
Π₯ΠΎΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π°, ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΡΠΎ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠΌ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ malloc() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ; Π΄ΡΡΠ³ΠΈΠ΅ β ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°ΡΡΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ»ΡΠΆΠ΅Π±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ.
63
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ sigprocmask() ΠΈ pause() Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΡΡΡΠ·Π°Π½ΠΈΠΉ, Π΅ΡΠ»ΠΈ ΡΠΈΠ³Π½Π°Π», ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ, ΠΏΠΎΡΡΡΠΏΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ Π΄Π²ΡΠΌΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌΠΈ Π²ΡΠ·ΠΎΠ²Π°ΠΌΠΈ.
64
ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎ Π΄Π°ΠΌΠΏΠ°Ρ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² Π³Π»Π°Π²Π΅ 10.
65
Π₯ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ»Π°ΡΡ SIGCHLD Π»ΡΠ±ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΎΠ½ΠΈ Π²Π»Π°Π΄Π΅ΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Π½Π΅ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ.
66
Π ΡΠ°Π±Π». 12.2 ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ , Π° ΠΌΠΎΠΆΠ΅Ρ, Π΄Π°ΠΆΠ΅ Π²ΠΎ Π²ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Linux. ΠΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ POSIX ΡΠΏΠ΅ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° ΠΈΠ· ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΡΠΈΠ³Π½Π°Π»ΠΎΠ².
67
Π’Π΅ΡΠΌΠΈΠ½ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΡΡΡ Π·Π΄Π΅ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π³Π°ΡΠ°Π½ΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ Π΄ΠΎΡΡΠ°Π²ΠΊΠ΅ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ, ΡΠ΄ΠΎΠ±Π½Ρ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
68
ΠΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ° POSIX ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠ³Π»ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ struct sigcontext Π·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΎΠ΄Π°, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ siginfo_t, ΠΈ ΡΠ΅ΡΠΌΠΈΠ½ "ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ" ΠΎΡΡΠ°Π»ΡΡ ΠΎΡ ΡΡΠΎΠΉ ΡΡΠ°ΡΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
69
ΠΡΠΎΡ ΡΡΠ΅ΡΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ struct ucontext, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠ² Π² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅. ΠΠ°Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Π²ΡΡ ΠΎΠ΄ΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠ΅ΠΌ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅, Π½ΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΎ Π² Single Unix Specification.
70
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ si_code, Π½Π΅ΠΆΠ΅Π»ΠΈ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌ Π·Π΄Π΅ΡΡ, ΠΈ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΌΡ Π²Π²ΠΎΠ΄Ρ-Π²ΡΠ²ΠΎΠ΄Ρ, ΠΎΡΠ΅ΡΠ΅Π΄ΡΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°ΠΌ ΡΠ΅Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° Π³ΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌ, ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅.
71
ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ SIGTRAP, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ°ΠΌΠΈ, ΠΈ SIGPOLL, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°. ΠΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π½Π΅ ΠΎΠΏΠΈΡΠ°Π½ Π² Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎΠ± ΡΡΠΈΡ ΡΠΈΠ³Π½Π°Π»Π°Ρ Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΡΠ°Π±Π». 12.3.
72
ΠΡΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ SIGCHLD ΠΏΠΎΡΡΠ»Π°Π΅ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π½ΠΎ ΠΈ ΠΏΡΠΈ Π΅Π³ΠΎ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ ΠΈΠ»ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ°Π±ΠΎΡΡ.
73
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Π΄Π»Ρ Π°ΡΠ΅Π½Π΄Ρ ΡΠ°ΠΉΠ»ΠΎΠ² (Π³Π»Π°Π²Π° 13), ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΎΠΌ (Π³Π»Π°Π²Π° 16) ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠΌΠ΅ΡΠ°ΠΌΠΈ (Π³Π»Π°Π²Π° 18).
74
ΠΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅ Π½Π° ΡΠΈΠΏ sigset_t, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠΈΠ³Π½Π°Π»ΠΎΠ².
75
ΠΠΎΠ³Π΄Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΡΠΎΠΊΠ΅Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅ΡΡΡ (listen()) ΠΈ Π³ΠΎΡΠΎΠ² ΠΊ ΠΏΡΠΈΠ΅ΠΌΡ (accept()), ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½ Π³ΠΎΡΠΎΠ² ΠΊ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ select(); ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΊΠ΅ΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² Π³Π»Π°Π²Π΅ 17.
76
ΠΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΡΠΎ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ numfds Π΄Π»Ρ poll(), ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΈΡ.
77
ΠΡΠΎΠΌΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ ΡΠ΄Π΅Ρ ΡΠ΅ΡΠΈΠΈ 2.1.
78
ΠΠΎΠ³Π΄Π° ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» select(), Π½Π΅ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠ΄ΡΠ° BSD ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ timeout Π±ΡΠ»Π° ΠΎΡΠΌΠ΅ΡΠ΅Π½Π° ΠΊΠ°ΠΊ ΠΎΡΠΈΠ±ΠΊΠ° Π½Π° man-ΡΡΡΠ°Π½ΠΈΡΠ΅ Π΄Π»Ρ select(). ΠΠΌΠ΅ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΠΈΠ½ΡΡ ΡΠ΅ΡΠΈΠ» "ΠΈΡΠΏΡΠ°Π²ΠΈΡΡ" ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ ΠΏΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ ΠΎΠ΄ΠΎΠ±ΡΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ BSD.
79
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΄ΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, Π° Π·Π°ΡΠ΅ΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠ΅, Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ². ΠΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΡΡΡΠ°Π½ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΠΏΡΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΏΡΠΎΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠΎΡΠΊΠ΅.
80
EPOLLET β ΡΡΠΎ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ events, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΡΠ΅Π΅ epoll Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠΎΠ²Π½Π΅ΠΌ Π½Π° Π·Π°ΠΏΡΡΠΊ ΡΡΠΎΠ½ΡΠΎΠΌ ΡΠΈΠ³Π½Π°Π»Π°. ΠΡΠ° ΡΠ΅ΠΌΠ° Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΈ epoll, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ ΡΡΠΎΠ½ΡΠΎΠΌ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΡΠΎΠ±ΡΡ ΡΠ»ΡΡΠ°ΡΡ .
81
Π‘ΡΡΡΠΊΡΡΡΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Π°Ρ Π² ΡΠ΅ΠΊΡΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌ, Π½ΠΎ ΠΎΠ½ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½Ρ Π΄Π»Ρ ΠΌΠ°ΡΠΈΠ½, Π² ΠΊΠΎΡΠΎΡΡΡ int ΠΈΠΌΠ΅Π΅Ρ 64 Π±ΠΈΡΠ°.
82
ΠΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ root Π΄Π»Ρ Π½Π°Π±ΠΎΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ Π±ΠΎΠ»Π΅Π΅ 1000 Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ².
83
ΠΠ°ΡΡΠΎΡΡΠ΅Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΡΠ°ΡΠΈΡΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΎΡΠ½ΠΎΡΡΡ. ΠΡΠ» ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ Π»ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ³ΠΎΠ½, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ½Π°ΡΠ°Π»Ρ Π±ΡΠ΄ΡΡ Π½Π΅ΡΡΡΠΎΠΉΡΠΈΠ²ΡΠΌΠΈ, ΡΡΠΎ, ΠΎΠ΄Π½Π°ΠΊΠΎ, ΠΈΡΡΠ΅Π·Π½Π΅Ρ ΠΏΠΎΡΠ»Π΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΎΠ²ΡΠΎΡΠΎΠ².
84
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΡΡΠΎΠ»Ρ Π²Π°ΠΆΠ½ΡΠΌ, Π½ΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Linux, ΡΡΠΈ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΊΠΎΠΏΠΈΠΉ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΌΠΎΠΉ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ»Ρ Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Ρ Π½Π°Π±ΠΎΡΠ° O_SYNC.
85
Π₯ΠΎΡΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ, /dev/zero ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
86
ΠΡΠΈΠ±ΠΊΠ° ΡΠ΅Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π½Π΅ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅.
87
Π Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΡΠ΄ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΌΠ΅Π»ΠΊΠΎΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΡ.
88
Π€Π°ΠΉΠ» /etc/passwd ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠΎΠ·Π΄Π°ΡΡΠΈΠΌΠΈ Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΠ°ΠΉΠ»Π° Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΠΌΠΈ ΠΈ Π·Π°ΡΠ΅ΠΌ Π·Π°ΠΌΠ΅Π½ΡΡΡΠΈΠΌΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° rename(). ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ°ΠΊΠ°Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ, ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΌΠΎΠ³ΡΡ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΠ· etc/passwd Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.