Перейти к содержимому
шпаргалка.
Esc
навигацияоткрыть⌘Jпредпросмотр
На этой странице

Файловые дескрипторы и каналы

Все темы C++ Developer

Для чего используют файловые дескрипторы?

Файловые дескрипторы используются для управления и отслеживания открытых файлов и ресурсов (сокетов, каналов) в операционной системе, позволяя программам читать, записывать и выполнять другие операции с файлами.


Что такое Pipe? А Named Pipe?

Pipe:

  • Pipe (канал): Механизм межпроцессного взаимодействия, который позволяет передавать данные между процессами.

  • Особенности: Однонаправленный, анонимный, требует общего родительского процесса.

    int pipefd[2];
    pipe(pipefd);
Named Pipe:
  • Named Pipe (именованный канал или FIFO): Подобен обычному каналу, но имеет имя в файловой системе.

  • Особенности: Именованный однонаправленный поток байтов; несвязанные процессы могут открыть его по пути. Для независимого обмена в обе стороны обычно используют два FIFO или сокет.

    mkfifo("/tmp/myfifo", 0666);

Основные различия:

  • Pipe: Анонимный, требует общего предка.

  • Named Pipe: Именованный, позволяет взаимодействие между любыми процессами.

Эта страница была полезной?