ΠΠ°Π»Π΅Π΅ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ
exec
Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²Π° Π»ΡΠ±ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΡΠ°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²Π²ΠΎΠ΄. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
od
. ΠΠΎΠΌΠ°Π½Π΄Π°
od
Π±ΡΠ΄Π΅Ρ ΠΆΠ΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½ΡΡ Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½Ρ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΠΎΠ½Π° ΠΆΠ΄Π°Π»Π° Π²Π²ΠΎΠ΄Π° Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π΅Π· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΡΡΡΠ½ΠΈΡΡ ΡΠ°Π·Π½ΠΈΡΡ, ΠΎΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ Π²Π²ΠΎΠ΄ ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡ ΠΈΠ· ΠΊΠ°Π½Π°Π»Π°, Π° Π½Π΅ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°.
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ° ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°Π½Π°Π»Π°,
file_pipes[0]
, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΈΡΠ°ΡΡ ΠΈΠ· ΠΊΠ°Π½Π°Π»Π°. ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½ ΠΏΠΈΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠ°Π½Π°Π». ΠΠΎΠ³Π΄Π° Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°Π½Ρ, ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ½Π΅Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΠ°Π½Π°Π» ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ΅ΠΏΠ΅ΡΡ Π½Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠ², ΠΎΡΠΊΡΡΡΡΡ
Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΠ°Π½Π°Π», ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
od
ΡΠΌΠΎΠΆΠ΅Ρ ΡΡΠΈΡΠ°ΡΡ ΡΡΠΈ Π±Π°ΠΉΡΠ°, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ
Π² ΠΊΠ°Π½Π°Π», Π½ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π»Π΅Π΅ Π±ΡΠ΄ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ 0 Π±Π°ΠΉΡΠΎΠ², ΡΠΊΠ°Π·ΡΠ²Π°Ρ Π½Π° ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π°. ΠΠΎΠ³Π΄Π°
read
Π²Π΅ΡΠ½Π΅Ρ 0, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°
od
Π·Π°Π²Π΅ΡΡΠΈΡΡΡ. ΠΡΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
od
, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Ρ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°, ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡ <Ctrl>+<D> Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΡΠΈΠ·Π½Π°ΠΊΠ° ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅
od
.
ΠΠ° ΡΠΈΡ. 13.3 ΠΏΠΎΠΊΠ°Π·Π°Π½ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ·ΠΎΠ²Π°
pipe
, Π½Π° ΡΠΈΡ. 13.4 β ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ·ΠΎΠ²Π°
fork
, Π° Π½Π° ΡΠΈΡ. 13.5 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π³ΠΎΡΠΎΠ²Π° ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π΄Π°Π½Π½ΡΡ
.
Π ΠΈΡ. 13.3
Π ΠΈΡ. 13.4
Π ΠΈΡ. 13.5
ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ: FIFO
ΠΠΎ ΡΠΈΡ
ΠΏΠΎΡ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, Ρ.Π΅. ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°ΡΡΠΎΠ²Π°Π»ΠΈ ΠΈΠ· ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ°-ΠΏΡΠ΅Π΄ΠΊΠ°. Π§Π°ΡΡΠΎ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π½Π΅ΡΠ΄ΠΎΠ±Π½ΠΎ, Ρ
ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ, ΡΡΠΎΠ±Ρ ΠΈ Ρ Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² FIFO, ΡΠ°ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ
ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΊΠ°Π½Π°Π»Π°ΠΌΠΈ. ΠΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ°Π½Π°Π» β ΡΡΠΎ ΡΠ°ΠΉΠ» ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π² ΠΠ‘ Linux Π²ΡΠ΅, ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ, β ΡΠ°ΠΉΠ»!), ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π½ΠΎ Π²Π΅Π΄ΡΡΠΈΠΉ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΆΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π‘ Π΄Π°Π²Π½ΠΈΡ
Π²ΡΠ΅ΠΌΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡ
Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π±ΡΠ»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°
mknod
:
$ <b>mknod <i>ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°</i> p</b>
ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
mknod
Π½Π΅Ρ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ X/Open, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π½Π΅ Π²ΠΎ Π²ΡΠ΅ UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅
$ <b>mkfifo <i>ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°</i></b>
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
Π£ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΠΉ UNIX Π±ΡΠ»Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°
mknod
. Π ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ X/Open issue 4 Version 2 Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ
mknod
, Π½ΠΎ Π½Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ‘ Linux, ΠΊΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π° Π½Π°ΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π΄ΡΡΠΆΠ΅Π»ΡΠ±Π½ΠΎ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°:
mknod
ΠΈ
mkfifo
.
ΠΠ½ΡΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ
Π²ΡΠ·ΠΎΠ²Π°:
<b>#include <sys/types.h></b>
<b>#include <sys/stat.h></b>
<b>int mkfifo(const char *filename, mode_t mode);</b>
<b>int mknod(const char* filename, mode_t mode | S_IFIFO, (dev_t)0);</b>
ΠΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
mknod
Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ
mknod
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ
ΡΠΈΠΏΠΎΠ². ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠ·Π΄Π°ΡΡΠΈΠΉ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ°Π½Π°Π», β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0 ΡΠΈΠΏΠ°
dev_t
ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ or ΡΠ΅ΠΆΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΈ
S_IFIFO
. Π ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ
ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ
mkfifo
.
ΠΡΠ°ΠΊ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 13.9.
Π£ΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 13.9. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π°
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ° fifo1.c.
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
int main() {
Β int res = mkfifo("/tmp/my_fifo", 0777);
Β if (res == 0) printf ("FIFO created\n");
Β exit(EXIT_SUCCESS);
}
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°Π½Π°Π» ΠΈ Π·Π°Π³Π»ΡΠ½ΡΡΡ Π² Π½Π΅Π³ΠΎ:
$ <b>./fifo1</b>
FIFO created
$ <b>ls -lF /tmp/my_fifo</b>
prwxr-xr-x 1 rick usersΒ 0 2007-06-16 17:18 /tmp/my_fifo|
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π²ΡΠ²ΠΎΠ΄Π° β
Ρ
, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ ΠΊΠ°Π½Π°Π». Π‘ΠΈΠΌΠ²ΠΎΠ»
|
Π² ΠΊΠΎΠ½ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΠΏΡΠΈΠ΅ΠΉ
-F
ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ls
ΠΈ ΡΠΎΠΆΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠ°Π½Π°Π».
ΠΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ
mkfifo
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΡΠ΅ΠΆΠΈΠΌ
0777
, ΠΎΠ½ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΠΌΠ°ΡΠΊΠΎΠΉ (
umask
), ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΠΎΠΉ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅
022
) ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠ΅ΠΆΠΈΠΌ
755
. ΠΡΠ»ΠΈ Π²Π°ΡΠ°
umask
ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΈΠ½Π°ΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
0002
, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ° Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π£Π΄Π°Π»ΠΈΡΡ FIFO ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ°ΠΊ ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
rm
ΠΈΠ»ΠΈ Π²Π½ΡΡΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π°
unlink
.
ΠΠΎΡΡΡΠΏ ΠΊ FIFO
Π£ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΡ
ΠΊΠ°Π½Π°Π»ΠΎΠ² Π΅ΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ: ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ ΠΏΠΎΡΠ²Π»ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
Π½Π° ΠΌΠ΅ΡΡΠ΅ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°. ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π²Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Π°ΠΌΠΈ ΡΠ°ΠΉΠ»Π° FIFO, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ (ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠ΅ 13.10).