Книга: Linux программирование в примерах
1.2.1. Каналы: сцепление процессов
1.2.1. Каналы: сцепление процессов
Без сомнения, вам приходилось использовать конструкцию ('|
') оболочки для соединения двух или более запущенных программ. Канал действует подобно файлу: один процесс записывает в него, используя обычную операцию записи, а другой процесс считывает из него с помощью операции чтения. Процессы (обычно) не знают, что их ввод/вывод является каналом, а не обычным файлом.
Как ядро скрывает «магию» для устройств, заставляя их действовать подобно файлам, точно так же оно проделывает эту работу для каналов, принимая меры по задержке записи в канал при его наполнении и задержке чтения, когда нет ожидающих чтения данных.
Таким образом, принцип файлового ввода/вывода применительно к каналам служит ключевым механизмом для связывания запушенных программ; не требуется никаких временных файлов. Опять-таки общность и простота работы: никаких особых случаев для кода пользователя.
- 1.2. Модель процессов Linux
- 9.3. Базовое межпроцессное взаимодействие: каналы и очереди FIFO
- 9.3.1. Каналы
- 4.3. Программные каналы
- Каналы процессов
- 7.2.2. Каналы, перенаправление и фильтры
- Глава 7 Чего нужно опасаться при моделировании бизнес-процессов. Проектные риски моделирования бизнеспроцессов
- Эффективное взаимодействие процессов архитектуры Classic Server
- 1.2. Понятие информации. Общая характеристика процессов сбора, передачи, обработки и накопления информации
- 3.4.2. Остановка процессов
- 3.4.3. Просмотр процессов
- ГЛАВА 4 Именованные и неименованные каналы