Книга: Программирование для Linux. Профессиональный подход
5.4.5. Каналы FIFO
5.4.5. Каналы FIFO
Файл FIFO (First-In, First-Out — первым пришел, первым обслужен) — это канал, у которого есть имя в файловой системе. Любой процесс может открыть и закрыть такой файл. Процессы, находящиеся на противоположных концах канала, не обязаны быть связанными друг с другом. FIFO-файлы называют именованными каналами.
FIFO-файл создается с помощью команды mkfifo
. Путь к файлу указывается в командной строке, например:
% mkfifo /tmp/fifo
% ls -l /tmp/fifo
prw-rw-rw- 1 samuel users 0 Jan 16 14:04 /tmp/fifo
Первый символ в строке режима (p) указывает на то, что файл имеет тип FIFO (именованный канал). Теперь в одном терминальном окне можно осуществлять чтение из файла с помощью команды
% cat < /tmp/fifo
а в другом окне можно выполнять запись в файл:
% cat > /tmp/fifo
Попробуйте во втором окне ввести какой-то текст и нажать <Enter>. Введенный текст немедленно отобразится в первом окне. Канал закрывается нажатием клавиш <Ctrl+D> во втором окне. FIFO-файл удаляется с помощью следующей команды:
% rm /tmp/fifo
- ГЛАВА 4 Именованные и неименованные каналы
- 4.4. Двусторонние каналы
- Глава 9 Управление процессами и каналы
- 9.3. Базовое межпроцессное взаимодействие: каналы и очереди FIFO
- 9.3.1. Каналы
- 9.3.2. Очереди FIFO
- Каналы
- FIFO
- Именованные каналы
- Глава 12. Методы распространения товаров: каналы распределения и товародвижение
- 4.3. Программные каналы
- 4.6. Именованные каналы (FIFO)