Книга: Основы программирования в Linux
Что такое канал?
Что такое канал?
Мы применяем термин "канал" для обозначения соединения потока данных одного процесса с другим. Обычно вы присоединяете или связываете каналом вывод одного процесса с вводом другого.
Большинство пользователей Linux уже знакомы с идеей конвейера, связывающего вместе команды оболочки так, что вывод одного процесса поставляет данные прямо во ввод другого. В случае команд оболочки это делается с помощью символа конвейера или канала, соединяющего команды следующим образом:
cmd1 | cmd2
Командная оболочка организует стандартный ввод и вывод двух команд так, что:
? стандартный ввод cmd1
поступает с клавиатуры терминала;
? стандартный вывод cmd1
поставляется cmd2
как ее стандартный ввод;
? стандартный вывод cmd2
подсоединен к экрану терминала.
На самом деле командная оболочка заново соединила потоки стандартных ввода и вывода так, что потоки данных проходят с клавиатурного ввода через две команды и выводятся на экран. На рис. 13.1 приведено визуальное представление этого процесса.
Рис. 13.1
В этой главе вы увидите, как достичь этого эффекта в программе и как можно использовать каналы для связи многих процессов, что позволит создать простую клиент-серверную систему.
- 3.3.2. Что такое RSS-рассылки
- Что такое сокет?
- Что такое веб-каналы и веб-фрагменты?
- Что это такое — канал на YouTube?
- Что сказать, если вас просят оценить что-либо
- Что говорят цифры
- Глава 13 Связь между процессами: каналы
- Что такое каналы продаж для воздействия на покупателей?
- Как просмотреть программу телепередач?
- PR через КВН
- Как работать с этой книгой
- Контрольные вопросы