Іменований канал, FIFO (англ. named pipe) — механізм обміну даними між процесами в Unix і подібних ОС, один з засобів взаємодії між процесами. Також це зустрічається в OS/2 і Microsoft Windows, хоча вміст істотно відрізняється. []
На відміну від неіменованих каналів, доступ до яких мають лише процеси, породжені від спільного батьківського, доступ до іменованих каналів мають всі процеси, що знають ім'я цього каналу та мають відповідні права читання та/або запису в канал.
Як і неіменований канал, іменований канал забезпечує обмін даними через оперативну пам'ять. В Unix-системах ім'я іменованого каналу зберігається у файловій системі як ім'я файлу каналу і доступне після перезавантаження системи. У MS Windows файл каналу створюється у пам'яті і знищується між завантаженнями.
Канал можна створити однією з двох команд:
mknod pipe1 p mkfifo pipe1
Де pipe1 — ім'я каналу. Після створення файл каналу відображається у переліку файлів каталога, в якому був створений:
ls -l ... prw-r--r-- 1 user group 0 2010-11-17 01:13 pipe1 ...
Варто зауважити що розмір файла каналу завжди 0 байт.
Два окремі процеси можуть отримати доступ до каналу за іменем — один процес може відкрити його як зчитувач, а інший як записувач.
Можна створити процес що пише в канал:
ls > pipe1
Цей процес буде "висіти", поки канал не прочитає передану йому інформацію, а канал сам її читати не може. Інший процес що читає з каналу, наприклад
cat pipe1
Видаляти канали можна як і звичайні файли:
rm pipe1
Дивись також
Примітки
- mkfifo(3) - Linux manual page. man7.org. Процитовано 24 березня 2023.
- mknod(1) - Linux manual page. man7.org. Процитовано 24 березня 2023.
- mkfifo(1) - Linux manual page. man7.org. Процитовано 24 березня 2023.
Посилання
- Сергей Дунаев. Unix System V. Release 4.2 Общее руководство. — Диалог-Мифи. — .
Ця стаття потребує додаткових для поліпшення її . (січень 2016) |
![]() | Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет